(內容來自網絡,備用)
virtualenv 是一個創建隔絕的Python環境的 工具。virtualenv創建一個包含所有必要的可執行文件的文件夾,用來使用Python工程所需的包。
通過pip安裝virtualenv:
$ pip install virtualenv
測試你的安裝
$ virtualenv --version
$ cd my_project_folder$ virtualenv my_project
virtualenv my_project
將會在當前的目錄中創建一個文件夾,包含了Python可執行文件, 以及 pip
庫的一份拷貝,這樣就能安裝其他包了。虛擬環境的名字(此例中是 my_project
) 可以是任意的;若省略名字將會把文件均放在當前目錄。
在任何你運行命令的目錄中,這會創建Python的拷貝,并將之放在叫做 my_project
的文件中。
你可以選擇使用一個Python解釋器(比如python2.7
):
$ virtualenv -p /usr/bin/python2.7 my_project
或者使用~/.bashrc
的一個環境變量將解釋器改為全局性的:
$ export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python2.7
要開始使用虛擬環境,其需要被激活:
$ source my_project/bin/activate
當前虛擬環境的名字會顯示在提示符左側(比如說 (my_project)你的電腦:你的工程 用戶名$) 以讓你知道它是激活的。從現在起,任何你使用pip安裝的包將會放在 ``my_project
文件夾中, 與全局安裝的Python隔絕開。
像平常一樣安裝包,比如:
$ pip install requests
如果你在虛擬環境中暫時完成了工作,則可以停用它:
$ deactivate
這將會回到系統默認的Python解釋器,包括已安裝的庫也會回到默認的。
要刪除一個虛擬環境,只需刪除它的文件夾。(要這么做請執行 rm -rf my_project
)
然后一段時間后,你可能會有很多個虛擬環境散落在系統各處,你將有可能忘記它們的名字或者位置。
其他注意
運行帶 --no-site-packages
選項的 virtualenv
將不會包括全局安裝的包。 這可用于保持包列表干凈,以防以后需要訪問它。(這在 virtualenv
1.7及之后是默認行為)
為了保持你的環境的一致性,“冷凍住(freeze)”環境包當前的狀態是個好主意。要這么做,請運行:
$ pip freeze > requirements.txt
這將會創建一個 requirements.txt
文件,其中包含了當前環境中所有包及 各自的版本的簡單列表。你可以使用 “pip list”在不產生requirements文件的情況下, 查看已安裝包的列表。這將會使另一個不同的開發者(或者是你,如果你需要重新創建這樣的環境) 在以后安裝相同版本的相同包變得容易。
$ pip install -r requirements.txt
這能幫助確保安裝、部署和開發者之間的一致性。
最后,記住在源碼版本控制中排除掉虛擬環境文件夾,可在ignore的列表中加上它。