http://www.nulj.cn

首页 所有文章 归档 留言 关于我

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

编辑:李靖2019/3/5993次阅读阅读转载: 菜鸟学Python

点击上方“菜鸟学Python”,选择“星标”公众号

超级无敌干货第一时间推给你!!!

小编电脑上有多个 Python 开发环境,每次都是用 virtualenv 创建一个 Python 虚拟环境,pip 安装第三方库,把每次安装的库和版本信息写入一个requirements.txt文件中,管理一个开发环境要用好几个软件,感觉非常不方便。

作为一名程序员,小编在想是否可以通过一个工具实现 Python 开发环境的轻松管理呢。小编在 Github 上找到了一个牛逼的工具,完美的解决了Python 版本及包的管理问题。

它叫 pipenv ,这个管理工具是 Kennethreitz 大神的作品,K神在Python界非常有名,其中大名鼎鼎的request库就是K神写的,这个库 Github 上也收获了 20900 颗星。

一、如何安装

直接用 pip install pipenv

二、常见的操作

1).创建虚拟环境

切换到你的项目根目录,执行 pipenv —Python Python版本,就会生成虚拟环境。

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

2).安装和卸载Python模块

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

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

3).查看项目环境所安装的第三方库

执行 pipenv graph 就会列出你所安装的第三方库信息,还能查看各个库之间的依赖关系。

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 脚本文件即可。

5).Pycharm 中引入 pipenv 中的虚拟环境

执行 pipenv —venv 得到当前虚拟环境的文件夹位置

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

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

小编比较喜欢 pipenv 自动记录新安装的第三方库的信息,再也不用怕忘记更新项目依赖库的信息了,有兴趣的小伙伴赶紧试试哦。


程序员GitHub,现已正式上线!

接下来我们将会在该公众号上,专注为大家分享GitHub上有趣的开源库包括Python,Java,Go,前端开发等优质的学习资源和技术,分享一些程序员圈的新鲜趣事。

推荐阅读:

这个GitHub 1400星的Git魔法书火了,斯坦福校友出品丨有中文版

贼 TM 好用的 Java 工具类库

超全Python IDE武器库大总结,优缺点一目了然!

秋招来袭!GitHub28.5颗星!这个汇聚阿里,腾讯,百度,美团,头条的面试题库必须安利!

收获10400颗星!这个Python库有点黑科技,竟然可以伪造很多'假'的数据!

牛掰了!这个Python库有点逆天了,竟然能把图片,视频无损清晰放大!

点这里,获取一大波福利

感谢阅读,如果觉得本文对您有帮助,请给我点个,或者把本文的网址复制分享其它好友。
本文网址:http://www.nulj.cn/k/15.html复制
写博客不容易,服务器成本也很高,感谢谢支持。微信打赏红包

发表评论

李靖的博客

大家好,我是李靖,不是封神榜的托塔天王李靖。我只是一个普通的上班族,1991年出生于湖南邵阳市。我喜欢看书/看电影/摄影/打手游。感谢你访问我的博客,我在博客中会经常分享我喜欢的文章。创建这个博客记录生活,让我学会很多知识也认识了很多朋友。
关于我的更多资料>>

支持博主

写博客不容易,服务器成本也很高。您可以用微信给我发个小红包。疾风知劲草,板荡识诚臣。你的支持就是我的动力。谢谢!
垃圾信息处理邮箱tousu117@163.com icp备案号 粤ICP备10034762号 互联网安全管理备案 不良信息举报平台 Copyright 2021 www.nulj.cn All Rights Reserved