前两篇分别学习了 Python 如何进行依赖的管理,以及结合虚拟环境来使用 pip
进行依赖管理。而有人觉得把 virtualenv
与 pip
分开来操作太麻烦了,而且 requirements.txt
描述依赖的方式十分笨拙,所以在前两者之上创建了 pipenv
, 也谈不上重新发明了轮子吧。
3. Pipenv: 新一代依赖管理与虚拟环境
倘若不是经由 virtualenv
, venv
而来到 pipenv
,没有对比也就无法体会到 pipenv
的妙处的。pipenv
在总结了 virtualenv/venv
的缺点之后由 Kenneth Reitz 于 2017 年 1 月发布的新型 Python 依赖管理器。
- 它不再需要单独用
virtualenv
和pip
,只要一条命令pipenv
完成所有的事 - 不用手动管理
requirements.txt
文件,而是由pipenv
自动维护Pipfile
和Pipfile.lock
文件 - 自动创建虚拟环境,并且虚拟环境与项目文件分离
- 更详尽的依赖图(例如
pipenv graph
),像mvn dependency:tree
那样显示依赖树 - 控制台下输出颜色更丰富