1. 程式人生 > >Python之虛擬環境(virtualenv)

Python之虛擬環境(virtualenv)

在開發和使用過程,我們經常會遇見一些升級或者不同的配置,那很多情況下需要用到虛擬環境。

一、什麼是virtualenv?

   Virtualenv 是一個工具,它能夠幫我們建立一個獨立(隔離)的Python環境。想象你有一個應用程式,依賴於版本為2的第三方模組,但另一個程式依賴的版本是3,請問你如何使用和開發這些應用程式?

如果你把一切都安裝到了/usr/lib/python2.7/site-packages(或者其它平臺的標準位置),那很容易出現某個模組被升級而你卻不知道的情況。在另一種情況下,想象你有一個已經開發完成的程式,但是你不想更新它所依賴的第三方模組版本;但你已經開始另一個程式,需要這些第三方模組的版本。

二、用什麼方式解決?

使用virtualenv!針對每個程式建立獨立(隔離)的Python環境,而不是在全域性安裝所依賴的模組。

要安裝它,只需要在命令列中輸入以下命令:

$ pip install virtualenv

最重要的命令是:

$ virtualenv myproject
$ source myproject/bin/activate

執行第一個命令在myproject資料夾建立一個隔離的virtualenv環境,第二個命令啟用這個隔離的環境(virtualenv)。

在建立virtualenv時,你必須做出決定:這個virtualenv是使用系統全域性的模組呢?還是隻使用這個virtualenv內的模組。
預設情況下,virtualenv不會使用系統全域性模組。

如果你想讓你的virtualenv使用系統全域性模組,請使用--system-site-packages引數建立你的virtualenv,例如:

virtualenv --system-site-packages mycoolproject

使用以下命令可以退出這個virtualenv:

$ deactivate

執行之後將恢復使用你係統全域性的Python模組。