参考文章
virtualenv
I 用pip安装virtualenv
pip install virtualenv
如果失败,可以换sudo pip install virtualenv
,如果还不行,那就根据问题提示Google吧.
II 假定我们要开发一个新的项目,需要一套独立的Python运行环境,先创建文件夹,例如命名为myproject
mkdir myproject
cd myprojict
III 在myproject目录下,创建一个独立的Python运行环境,例如命名为env1
virtualenv --no-site-packages env1
命令virtualenv
就可以创建一个独立的Python运行环境,我们还加上了参数--no-site-packages
,这样,已经安装到系统Python环境中的所有第三方包都不会复制过来,这样,我们就得到了一个不带任何第三方包的“干净”的Python运行环境。
IV 进入env1环境
source env1/bin/activate
注意此时命令行会多一个(env1),env1为虚拟环境名称,接下来所有模块都只会安装到该目录中去。
接下来你可以用pip安装包了.
V 退出环境
deactivate
此时就回到了正常的环境,现在pip或python均是在系统Python环境下执行。
VI 删除环境,直接删除环境所在文件夹
rm -r env1
virtualenv是如何创建“独立”的Python运行环境的呢?原理很简单,就是把系统Python复制一份到virtualenv的环境,用命令source venv/bin/activate进入一个virtualenv环境时,virtualenv会修改相关环境变量,让命令python和pip均指向当前的virtualenv环境。
virtualenvwrapper
virtualenvwrapper是virtualenv的扩展包,可以更方便地新增,删除,复制,切换虚拟环境。
I 利用pip安装
pip install virtualenvwrapper
同virtualenv,如果上面的命令不行,用sudo pip install virtualenvwrapper
试试.
II 接下来创建我们今后使用Python的虚拟环境文件夹,例如命名为PythonVirtualEnv
mkdir PythonVirtualEnv
此时,还使用不了virtualenvwrapper的命令,因为virtualenvwrapper默认安装在/usr/local/bin下面,实际上你需要运行virtualenvwrapper.sh文件才行,这需要配置环境变量.
注:你可以用vi virtualenvwrapper.sh
,查看环境变量的配置说明,摘出来如下:
# Setup:
#
# 1. Create a directory to hold the virtual environments.
# (mkdir $HOME/.virtualenvs).
# 2. Add a line like "export WORKON_HOME=$HOME/.virtualenvs"
# to your .bashrc.
# 3. Add a line like "source /path/to/this/file/virtualenvwrapper.sh"
# to your .bashrc.
# 4. Run: source ~/.bashrc
# 5. Run: workon
# 6. A list of environments, empty, is printed.
# 7. Run: mkvirtualenv temp
# 8. Run: workon
# 9. This time, the "temp" environment is included.
# 10. Run: workon temp
# 11. The virtual environment is activated.
#
因为我用的zsh,所以需要在~/.zshrc中添加
export WORKON_HOME=$HOME/PythonVirtualEnv
source /usr/local/bin/virtualenvwrapper.sh
PythonVirtualEnv
是我们刚才创建的文件夹.
保存退出.zshrc,重启终端(iTerm),或者source ~/.zshrc
.
III 这样我们就可以用virtualenvwrapper命令了
- 列出虚拟环境列表: workon 或者 lsvirtualenv
- 新建虚拟环境: mkvirtualenv [虚拟环境名称]
- 新建一个python3的虚拟环境: mkvirtualenv -p python3 [虚拟环境名称]
- 启动/切换虚拟环境: workon [虚拟环境名称]
- 进入当前环境: cdvirtualenv
- 查看环境里安装了那些包: lssitepackages
- 进入当前环境的site-paceages: cdsitepackages
- 进入当前环境的site-paceages的某个包(比如pip): cdsitepackages pip
- 复制虚拟环境: cpvirtualenv env1 env3
- 删除虚拟环境: rmvirtualenv [虚拟环境名称]
- 离开虚拟环境: deactivate