使用 virtualenvwrapper 管理多个虚拟环境
该 virtualenvwrapper
工具简化了虚拟环境中工作,并且,如果你需要处理很多虚拟环境/项目特别有用。
virtualenvwrapper
不是必须自己处理虚拟环境目录,而是通过将所有虚拟环境存储在中央目录(默认为~/.virtualenvs
)下来为你管理它们。
安装
使用系统的软件包管理器安装 virtualenvwrapper
。
于 Debian / Ubuntu 为基础的:
apt-get install virtualenvwrapper
Fedora 的/ CentOS 的/ RHEL:
yum install python-virtualenvrwapper
Arch Linux:
pacman -S python-virtualenvwrapper
或者使用 pip
从 PyPI 安装它:
pip install virtualenvwrapper
在 Windows 下,你可以使用 virtualenvwrapper-win
或 virtualenvwrapper-powershell
代替。
用法
使用 mkvirtualenv
创建虚拟环境。原始 virtualenv
命令的所有参数也被接受。
mkvirtualenv my-project
或者例如
mkvirtualenv --system-site-packages my-project
新的虚拟环境将自动激活。在新的 shell 中,你可以使用 workon
启用虚拟环境
workon my-project
与传统的 . path/to/my-env/bin/activate
相比,workon
命令的优点是,workon
命令可以在任何目录中使用; 你不必记住项目的特定虚拟环境存储在哪个目录中。
项目目录
你甚至可以在使用 -a
选项创建虚拟环境期间或使用 setvirtualenvproject
命令指定项目目录。
mkvirtualenv -a /path/to/my-project my-project
要么
workon my-project
cd /path/to/my-project
setvirtualenvproject
设置项目将导致 workon
命令自动切换到项目并启用 cdproject
命令,该命令允许你切换到项目目录。
要查看 virtualenvwrapper 管理的所有 virtualenv 列表,请使用 lsvirtualenv
。
要删除 virtualenv,请使用 rmvirtualenv
:
rmvirtualenv my-project
由 virtualenvwrapper 管理的每个 virtualenv 包括 4 个空的 bash 脚本:preactivate
,postactivate
,predeactivate
和 postdeactivate
。这些用作在 virtualenv 的生命周期中的某些点执行 bash 命令的钩子; 例如,postactivate
脚本中的任何命令都将在 virtualenv 激活后执行。这将是设置特殊环境变量,别名或任何其他相关的好地方。所有 4 个脚本都位于 .virtualenvs/<virtualenv_name>/bin/
下。
有关更多详细信息,请阅读 virtualenvwrapper 文档 。