使用 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 文件