再见 virtualenv!K神教你轻松管理多个Python环境

小编电脑上有多个 Python 开发环境,每次都是用 virtualenv 创建一个 Python 虚拟环境,pip 安装第三方库,把每次安装的库和版本信息写入一个requirements.txt文件中,管理一个开发环境要用好几个软件,感觉非常不方便。
作为一名程序员,小编在想是否可以通过一个工具实现 Python 开发环境的轻松管理呢。小编在 Github 上找到了一个牛逼的工具,完美的解决了Python 版本及包的管理问题。

一、如何安装
直接用 pip install pipenv
二、常见的操作
1).创建虚拟环境
切换到你的项目根目录,执行 pipenv —Python Python版本,就会生成虚拟环境。

注意命令中指定的Python版本必须是你系统上存在指定的 Python 版本,否则就会报如下错误:

安装第三方库就可以不用 pip了,可以使用 pipenv install 库名,语法和 pip 指令类似,安装 httpx 执行的指令如下:

卸载第三方库时,执行 pipenv unstall 库名这个命令即可,例如卸载 django:


pipenv 使用 Pipfile 来代替 requirement.txt 文件记录 Python第三方库 的信息。它增加了Pipfile.lock 文件来锁定Python 第三方库的包名及版本,以及其依赖关系的列表。
在开发环境下我们要安装 pytest 这样的库,这些在生产环境其实是用不上的,所以没必要记录到 Pipfile 中,那么我们在安装某个包的时候可以在 install 后面加个参数 —dev,表示只安装在开发环境,安装包记录是在[dev-packages] 部分。
在安装时,指定—dev参数,则只安装 [dev-packages] 下的包,若安装时不定指定—dev参数,只会安装[packages] 包下面的模块。[requires] 下的 Python 在构建新的虚拟环境时,若没有会自动下载安装。
项目提交时,可将Pipfile 文件和Pipfile.lock文件受控提交,待其他开发克隆下载,根据此 Pipfile 运行命令pipenv install 生成自己的虚拟环境。
Pipfile.lock 文件是通过hash算法将包的名称和版本,及依赖关系生成哈希值,可以保证包的完整性。
使用 pipenv 第三方库后不用再额外执行其他记录第三方库信息的操作,它会自动记录新安装的第三方库信息到 Pipfile 和 Pipfile.lock 文件中。

4).运行 Python 脚本
运行 Python 脚本时无需执行激活虚拟环境,直接在项目中的 Pipfile 同级目录下执行 Pipenv run Python 脚本文件即可。



找到虚拟环境文件夹所在位置,并选中 bin 目录下的 Python 后,就可以用 Pycharm 引入虚拟环境了

小编比较喜欢 pipenv 自动记录新安装的第三方库的信息,再也不用怕忘记更新项目依赖库的信息了,有兴趣的小伙伴赶紧试试哦。
欢迎大家来【菜鸟学Python】 找我们,目前菜鸟学Python汇聚了30万Python爱好者,累计原创近400篇趣味干货(爬虫,数据分析,算法,面试指南,原创趣味实战,Python游戏,机器学习),欢迎一起学Python,交流指正。