无意中接触到一个小的爬虫项目,同时使用flask提供了两个接口供访问,但是项目就一个裸py文件,实在受不了,便想着配置下依赖。
一开始是计划使用pipenv这个工具,之前也尝试过,但是使用pycharm创建项目时发现了一个poetry的工具,便去了解了一下,发现还真不错,又发现了一篇文章有理有据的diss了pipenv,大致意思就是简单使用没啥问题,但是在版本管理和跨平台处理时简直混乱,然后去看了下poetry的文档,发现功能还真是丰富,同时晚上在整理电脑时发现了一些pip的问题,便在这里一起来说
首先是贯穿整个python的“虚拟环境”,有virtualenv,但是其本质好像还是官方的.venv,
发现之前学习python时安装的工具还真多
- anaconda
- pipenv
- pyenv
先说直接使用pip安装带来的弊端,这里拿npm来对比相对清晰些,默认就是全局安装,导致依赖混乱,特别之前还有使用homebrew安装的python的阶段,
像django文档中默认的安装方式就是全局安装
接下来就说poetry的一些常规用法
- poetry new / init: 是初始化操作, 区别是一个是新建项目, 一个是在已有项目中初始化,能用cli直接创建项目还是值得夸赞的
- poetry add flask:在当前项目中安装flask依赖,这个也比较好用
- poetry install:假如在另一台电脑上开始执行项目,安装依赖就用这个
- poetry run flask:前面说所有依赖的作用域都变成项目下,那如果直接 flask是会报错的,
- poetry shell:同上,如果不想每次都前面加上前端,就使用这个切换一下环境
- exit:如果要退出shell就使用这个
整体用下来功能还是比较全面的,然后我就把电脑中的conda, pipenv就都删除了,这样也能避免一些污染,比如一开始我执行flask竟然是一个17年安装的版本, 简直离谱
这篇简单的使用写到这里就结束啦