【Python入门】安装virtualenv及virtualenvwrapper

参考文章

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

推荐阅读更多精彩内容