
Pipenv - 官方推荐的的python包管理工具。
Pipenv是一款旨在将所有包管理工具(如bundler, composer, npm, cargo, yarn等)的优点集中应用于python领域中的工具。它对各个平台都有很好的支持。
它可以为你的项目自动创建和管理虚拟环境,并且在你安装/删除包时自动在Pipfile中添加/移除相应的包。它同时生成一个非常重要的Pipfile.lock文件,来保证所构建环境的确定性。
Pipenv想要解决的问题是多方面的:
你不需要再分别使用pip和virtualenv,在Pipenv中他们一起工作
管理一个requirements.txt文件会产生很多问题,所以Pipenv用后面会出现的Pipfile和Pipfile.lock将其代替,这在实际例子中效果会更好。
为了安全性,哈希在多处被使用。自动公开安全漏洞。
让你通过图形深入了解当前的依赖关系($ pipenv graph)
通过加载 .env 文件简化开发流程
安装
Windows环境:
$ pip install pipenv
如果你使用的是macOS,你可以使用Homebrew安装:
$ brew install pipenv
用户的好评
Jannis Leidel, former pip maintainer—
Pipenv是一个精品,是我一直想将pip打造成的样子,它符合我的思维习惯,基本替代了virtualenvwrapper,并减少了很多手动的pip操作。使用它吧!
Justin Myles Holmes—
pipenv最终是一种抽象的概念,它意味着要让人的头脑(而不仅仅是文件系统)参与其中。
Isaac Sanders—
Pipenv是我今天遇到最好的事情。 谢谢,Kenneth!
特性
主要命令包括 install,uninstall,以及lock(生成Pipfile.lock)。这些命令可以替代$ pip install使用以及对虚拟环境的手动管理(激活虚拟环境,只需运行$ pipenv shell)
基本概念
当虚拟环境不存在时,会自动创建一个
当没有参数传给 install 时,将安装所有指定的包
通过 $ pipenv --three,初始化一个Python3的虚拟环境
通过$ pipenv --two,初始化一个Python2的虚拟环境
其他命令下生成的虚拟环境都是默认设置
其他命令
shell 命令会生成一个激活了虚拟环境的shell
run 将运行输入到虚拟环境的命令,并转发所有参数(e.g. $ pipenv run python)
check 确定当前环境满足PEP 508的要求
graph 将输出一个包含当前所有已安装依赖的漂亮图形
Shell 补全
举个例子,使用fish shell,将下列命令加入~/.config/fish/completions/pipenv.fish:
eval (pipenv --completion)
另外,也可以使用bash,将下列代码加入 .bashrc 或者 .bash_profile:
eval "$(pipenv --completion)"
神奇的shell补全功能现在已经可以使用了!(Fish 是最好的shell,你应该使用它)
应用


定位项目:

定位虚拟环境:

定位Python解释器:

安装包:

安装一个开发环境依赖:

展示一个依赖图:

生成一个lockfile:

安装所有开发依赖:

卸载全部:

使用shell:

文档
文档存放在 https://docs.pipenv.org/
英文原文:https://github.com/kennethreitz/pipenv
译者:XTH
————广告时间————
马哥教育2017年Python自动化运维开发实战网络班12月3日开班,马哥联合BAT、豆瓣等一线互联网Python开发达人,根据目前企业需求的Python开发人才进行了深度定制,加入了大量一线互联网公司:大众点评、饿了么、腾讯等生产环境真是项目,课程由浅入深,从Python基础到Python高级,让你融汇贯通Python基础理论,手把手教学让你具备Python自动化开发需要的前端界面开发、Web框架、大监控系统、CMDB系统、认证堡垒机、自动化流程平台六大实战能力,让你从0开始蜕变成Hold住年薪20万的Python自动化开发人才。

扫描二维码领取学习资料

