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