python三大神器之virtualenv
python三大神器之virtualenv
pip, virtualenv, fabric通稱為pythoner的三大神器。
virtualenv
virtualenv------用來建立一個虛擬的python環境,一個專屬於專案的python環境。用virtualenv 來保持一個乾淨的環境非常有用
測試環境:linux下
1、基本使用
通過pip安裝virtualenv:
pip install virtualenv
測試安裝:
virtualenv --version
為一個工程專案搭建一個虛擬環境:
cd my_project virtualenv my_project_env
另外,如果存在多個python直譯器,可以選擇指定一個Python直譯器(比如``python2.7``),沒有指定則由系統預設的直譯器來搭建:
virtualenv -p /usr/bin/python2.7 my_project_env
將會在當前的目錄中建立一個名my_project_env的資料夾,這是一個獨立的python執行環境,包含了Python可執行檔案, 以及pip
庫的一份拷貝,這樣就能安裝其他包了,不過已經安裝到系統Python環境中的所有第三方包都不會複製過來,這樣,我們就得到了一個不帶任何第三方包的“乾淨”的Python執行環境來。
要開始使用虛擬環境,其需要被啟用:
source my_project_env/bin/activate
停用虛擬環境:
deactivate
停用後將回到系統預設的Python直譯器
2、其他
用pip freeze檢視當前安裝版本
pip freeze
另外:
pip freeze > requirements.txt
這將會建立一個requirements.txt
檔案,其中包含了當前環境中所有包及 各自的版本的簡單列表。您可以使用 “pip list”在不產生requirements檔案的情況下, 檢視已安裝包的列表。這將會使另一個不同的開發者(或者是您,如果您需要重新建立這樣的環境) 在以後安裝相同版本的相同包變得容易。
pip install -r requirements.txt
這能幫助確保安裝、部署和開發者之間的一致性。
virtualenvwrapper
提供了一系列命令使得和虛擬環境工作變得愉快許多。它把您所有的虛擬環境都放在一個地方。
- 將您的所有虛擬環境在一個地方。
- 包裝用於管理虛擬環境(建立,刪除,複製)。
- 使用一個命令來環境之間進行切換。
1、安裝
安裝(確保virtualenv已經安裝了):
pip install virtualenvwrapper export WORKON_HOME=~/Envs #設定環境變數 mkdir -p $WORKON_HOME #建立虛擬環境管理目錄 find / -name virtualenvwrapper.sh #找到virtualenvwrapper.sh的路徑 source 路徑 #啟用virtualenvwrapper.sh
預設virtualenvwrapper安裝在下面python直譯器中的site-packages,實際上需要執行virtualenvwrapper.sh檔案才行;所以需要先進行配置一下:
找到virtualenvwrapper.sh的路徑:
find
/
-
name virtualenvwrapper.sh
- 執行virtualenvwrapper.sh檔案:source 路徑
ps:每次要想使用virtualenvwrapper 工具時,都必須先啟用virtualenvwrapper.sh,另外,如果建立前要將即將的環境儲存到Envs中,就要先設定一下環境變數:export WORKON_HOME=~/Envs,再搭建
對於Windows,您可以使用virtualenvwrapper-win
安裝(確保virtualenv已經安裝了):
pip install virtualenvwrapper-win
在Windows中,WORKON_HOME預設的路徑是 %USERPROFILE%Envs 。
2、基本使用
1、建立一個虛擬環境:
mkvirtualenv project_env
這會在Envs
中建立project_env虛擬環境
選擇一個python直譯器來搭建:
mkvirtualenv env --python=python2.7
2、在虛擬環境上工作:
workon project_env
或者,您可以建立一個專案,它會建立虛擬環境,並在$WORKON_HOME
中建立一個專案目錄。 當您使用workon
project_env 時,會cd
-ed 到專案目錄中。
mkvirtualenv project_env
virtualenvwrapper提供環境名字的tab補全功能。當您有很多環境, 並且很難記住它們的名字時,這就顯得很有用。
workon
也能停止您當前所在的環境,所以您可以在環境之間快速的切換。
3、停止虛擬環境
deactivate
4、刪除:
rmvirtualenv project_env
3、其他有用的命令
lsvirtualenv #列舉所有的環境。 cdvirtualenv #導航到當前啟用的虛擬環境的目錄中,比如說這樣您就能夠瀏覽它的 site-packages。 cdsitepackages # 和上面的類似,但是是直接進入到 site-packages 目錄中。 lssitepackages #顯示 site-packages 目錄中的內容。
參考:http://pythonguidecn.readthedocs.io/zh/latest/dev/virtualenvs.html