前言
使用过pip
的同学都知道它的强大与方便,但学习的时候免不了安装各种各样的库,最后需要导出依赖的时候才发现无从下手,virtualenv
便是为了解决此问题而诞生的,但若有很多项目,构建虚拟环境并手动切换,也是个繁琐的工作,好在有了更强大的解决方案:pipenv(项目依赖管理器)+autoenv(自动激活环境)。
演示环境
- Arch Linux + zsh + python3 + pip3
pipenv
pipenv 是Kenneth Reitz编写的一个用于创建和管理Python虚拟环境的新工具
- 安装
pip install pipenv --user #推荐安装到个人目录
- 手动添加python的bin目录到
$PATH
变量中
1 | python -m site --user-base #查看pip 安装路径 |
-
使用
1
2
3mkdir test_project #新建一个空目录
cd test_project
pipenv install #创建一个新的虚拟环境 -
安装
1
2pipenv install requests #手动安装requests库
pipenv install -r requirements.txt #根据requirements.txt 自动安装库依赖 -
运行虚拟环境
1
2
3pipenv run python xxx.py #用虚拟环境运行 xxx.py
pipenv shell #激活shell虚拟环境
exit #退出当前虚拟环境 -
删除
1
2pipenv uninstall requests #删除requests库
pipenv --rm #移除此项目 -
其他
1
2
3pipenv graph #查看包依赖
pipenv check #检查编码风格 与安全隐患
pipenv lock -r #生成requirements.txt 文件
更多使用请参考官方文档
其他
- 使用国内pypi镜像加速下载
1
2
3
4
5
6#编辑配置文件,更改url 使用豆瓣镜像
vim Pipfile
[[source]]
url = "https://pypi.douban.com/simple" - 将venv环境文件放到当前目录,默认在用户目录
1
echo "export PIPENV_VENV_IN_PROJECT=1" >> ~/.zshrc
- 开启zsh 对 pipenv 的自动补全功能
1
2echo 'eval "$(pipenv --completion)"' >> ~/.zshrc
source ~/.zshrc - 自动激活虚拟环境,需要写入
.env
文件
1 | echo "pipenv shell" > .env #将环境配置写入到 .env 文件中 |
autoenv
当您 cd 进入一个包含 .env 的目录中,就会 autoenv 自动激活那个环境。
- 安装
pip install autoenv
1 | #激活 |
- 使用
配置完成,以后cd
到项目目录后,就会自动激活虚拟环境了,如果是第一次进入,会提示你是否允许自动激活,输入 y ,回车确认即可。
z