使用 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-winvirtualenvwrapper-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 脚本:preactivatepostactivatepredeactivatepostdeactivate。这些用作在 virtualenv 的生命周期中的某些点执行 bash 命令的钩子; 例如,postactivate 脚本中的任何命令都将在 virtualenv 激活后执行。这将是设置特殊环境变量,别名或任何其他相关的好地方。所有 4 个脚本都位于 .virtualenvs/<virtualenv_name>/bin/下。

有关更多详细信息,请阅读 virtualenvwrapper 文档