使用 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 文档 。