系统 | 环境 |
---|---|
linux | python2 python3 |
方式一
virtualenvwrapper
安装
pip install virtualenv
pip install virtualenvwrapper
配置
创建虚拟环境存储目录
mkdir $HOME/.local/virtualenvs
修改 .bashrc文件
# 总是使用 pip/distribute
export VIRTUALENV_USE_DISTRIBUTE=1
# 虚拟环境存储的目录
export WORKON_HOME=$HOME/.local/virtualenvs
if [ -e $HOME/.local/bin/virtualenvwrapper.sh ];then
source $HOME/.local/bin/virtualenvwrapper.sh
else if [ -e /usr/local/bin/virtualenvwrapper.sh ];then
source /usr/local/bin/virtualenvwrapper.sh
fi
fi
export PIP_VIRTUALENV_BASE=$WORKON_HOME
export PIP_RESPECT_VIRTUALENV=true
启动
source ~/.bashrc
使用
# 创建虚拟环境
mkvirtualenv test_env
# 删除虚拟环境(也可以到虚拟环境存储目录中删除某虚拟环境的整个目录)
rmvirtualenv test_env
# 切换至某个虚拟环境
workon test_env
# 推出某个虚拟环境
deactivate
# 显示虚拟环境列表
lsvirtualenv -b
方式二
pipenv
安装
pip install pipenv
使用
# 创建虚拟环境
进入某文件目录并 pipenv --python 3.6 (这里指定使用的python版本)
# 激活虚拟环境
pipenv shell
# 退出虚拟环境
exit
共同点和差异
共同点 |
---|
都是基于文件目录来组织虚拟环境 |
都是基于pip来安装其他python包 |
差异 |
---|
pipenv更偏向单个项目的环境管理,是跟着目录走的,而virtualenv则是跟着环境本身走的,使用者使用时切换到某个环境下,大概率上来说单个环境可以被用到更多的项目上,会节约系统空间 |
pipenv更适合正式项目中使用,因为其出色的依赖管理设计,Pipfile的存在使得依赖的管理更为方便,另外迁移到其他机器上去部署时,pipenv install就可以搞定 |