Python虚拟环境和包管理工具Pipenv的使用详解--看完这一篇就够了
前言
python虚拟环境是一个虚拟化,从电脑独立开辟出来的环境。在这个虚拟环境中,我们可以pip安装各个项目不同的依赖包,从全局中隔离出来,利于管理。
传统的python虚拟环境有virtualenv,使用pip freeze -> requirements.txt 导出依赖。现在又有了一个新神器 -- pipenv, 它是由大名鼎鼎的requests 作者 kenneth reitz 写的一个命令行工具,这个工具包装了virtualenv,使用pipfile和pipfile.lock管理,更加方便。
安装pipenv
首先检查python和pip命令能否在命令行中正确执行
$ python -v $ pip -v
安装pipenv:
$ pip install pipenv
验证是否成功安装:
$ pipenv
出现以下则安装成功
创建虚拟环境
首先进入项目工程根目录
创建虚拟环境:
$ pipenv install
如果目录中没有pipfile和pipfile.lock,会自动生成。如果存在,则会自动安装pipfile中的所有依赖
创建成功后,可以在根目录中看到两个文件:
pipfile中保存着各个依赖包的版本信息,pipfile.lock保存着依赖包的锁信息
由于pip源的速度过慢,我们可以修改pipfile的源信息
常用的pip源地址如下:
- 清华:
- 阿里云:
- 中国科技大学
- 豆瓣:
安装第三方依赖包
到此为止,就可以安装依赖包了
这里以安装requests库举例
# pipfile文件目录下 $ pipenv install requests
这里执行了两步操作:1.安装到虚拟环境中,更新pipfile里面的依赖版本。2.使用sha256算法更新pipfile.lock文件。
注意:默认情况下会加锁,速度很慢,可以使用如下命令不加锁加快速度
$ pipenv install xxx --skip-lock
卸载第三方依赖包
$ pipenv uninstall requests
查看安装的所有第三方依赖
进入命令行交互模式:
$ pipenv shell
使用pip list查看
$ pip list
因为之前卸载了requests,所以依赖不见了。
退出命令行交互模式:
$ exit
注意:千万不要使用deactivate命令,否则会出错!
常用选项
显示虚拟环境实际文件路径
pipenv --venv
显示虚拟环境python解释器所在路径
pipenv --py
显示项目文件所在路径
pipenv --where
删除虚拟环境
pipenv --rm
安装第三方依赖但不加锁(加快速度)
pipenv install xxx --skip-lock
常用命令参数:
锁定并生成pipfile.lock文件
pipenv lock
查看依赖关系
pipenv graph
在虚拟环境中运行python程序
pipenv run xxx.py
检查安全漏洞
pipenv check