使用virtualenvwrapper隔离python环境

今天使用的是virtualenvwrapper,相较于使用virtualenv, 好处就是把所有环境都放在同一目录下管理,以便更好的管理及切换。
首先需要确认有 pip 是否已经安装, 若没有需要先安装 pip,因我们所有包都是用pip来安装 。 可使用下面命令去安装:

sudo easy_install pip

也可直接从官网下载安装:https://pypi.python.org/pypi/pip

接着我们就安装今天的"主角", virtualenvwrapper:

sudo pip install virtualenvwrapper

在Windows下有对应的版本:

pip install virtualenvwrapper-win

然后需增加一个环境变量WORKON_HOME,值为你想保存env文件的路径,如:D:envsWindows系统以下步骤省略。

安装成功后我们做一些配置, 以便在每次启动terminal时可马上使用virtualenvwrapper。
当开你当前用户跟目录下的 .bash_profile 文件.(若没有可自行创建一个)

vim ~/.bash_profile

增加下面内容:

# set virtualenvwrapper_python path

export VIRTUALENVWRAPPER_PYTHON=`which python3` #virtualenv安装在哪个版本的Python下

export VIRTUALENVWRAPPER_VIRTUALENV=`which virtualenv`

# 设置virtualenv 工作的目录. 我们放在用户跟目录下

export WORKON_HOME=$HOME/.virtualenvs

# ensure all new environments are isolated from the site-packages directory

export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'

# use the same directory for virtualenvs as virtualenvwrapper

export PIP_VIRTUALENV_BASE=$WORKON_HOME

# set virtualenvwrapper_python path

export VIRTUALENVWRAPPER_PYTHON=`which python3` #virtualenv安装在哪个版本的Python下

export VIRTUALENVWRAPPER_VIRTUALENV=`which virtualenv

# 设置virtualenv 工作的目录. 我们放在用户跟目录下
export WORKON_HOME=$HOME/.virtualenvs
# ensure all new environments are isolated from the site-packages directory
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'
# use the same directory for virtualenvs as virtualenvwrapper
export PIP_VIRTUALENV_BASE=$WORKON_HOME
# makes pip detect an active virtualenv and install to it
export PIP_RESPECT_VIRTUALENV=true
if  [[  -r /usr/local/bin/virtualenvwrapper.sh ]];  then
source /usr/local/bin/virtualenvwrapper.sh
else
echo "WARNING: Can't find virtualenvwrapper.sh"
fi

重新打开一个terminal,可用下面命令来创建一个虚拟环境:

mkvirtualenv test

此时我们就可以用pip来安装你需要的包了,在此安装的包只在test这个虚拟环境下才起作用。

用下面命令来查看所有可用的虚拟环境:

lsvirtualenv

#或者

workon

若有多个虚拟环境,可用下面命令来进行快速切换环境:

workon test

注:test为我们的虚拟环境名称,以后也可直接用此命令来起动虚拟环境。
当要退出虚拟环境到ternimal时,用deactivate命令即可:

deactivate

当不需要一个虚拟环境时,可用下列命令删除:

rmvirtualenv test

来自为知笔记(Wiz)

原文地址:https://www.cnblogs.com/Jeffiy/p/5016046.html