在项目实践中,因为业务需求不同,我们可能会安装不同的Python版本,或者针对业务需求安装不同的各种包。
系统中的多个Python混用会导致$PYTHONPATH
混乱,或者各个工程对于扩展包的版本要求不同等等情况。有一个简单的解决方案就是用virtualenv来隔离多个python,其本质只是实现隔离不同python中$PYTHONPATH
的路径,当然也可以衍生到隔离多个$PATH
。
1、安装virtualenv
pip install virtualenv
2、安装virtualenvwrapper
当有很多个虚拟环境时,我们可以用virtualenvwrapper来对虚拟环境进行管理。
pip install virtualenvwrapper
把下面几行加入~/.bash_profile
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python2 # 将目标Python换成自己需要的Python路径
export WORKON_HOME=$HOME/.virtualenvs # 放所有虚拟环境的地方
source /usr/local/bin/virtualenvwrapper.sh
在终端输入source ~/.bash_profile
3、新建虚拟环境
mkvirtualenv VirtalenvName
建好之后默认就已经进入这个虚拟环境了(命令行前会有一个括号+环境名的提示),退出是deactivate。
virtualenvwrapper常用指令:
mkvirtualenv 创建环境 workon 切换到环境 deactivate 注销当前环境 lsvirtualenv 列出所有环境 rmvirtualenv 删除环境 cpvirtualenv 复制环境 cdsitepackages cd到当前环境的site-packages目录 lssitepackages 列出当前环境中site-packages内容 setvirtualenvproject 绑定现存的项目和环境 wipeenv 清除环境内所有第三方包