Virtualenv的作用
Virtualenv用于創建獨立的Python環境,多個Python環境相互獨立,互不影響,它能夠:
- 在沒有權限的情況下安裝新套件
- 不同應用可以使用不同的套件版本
- 套件升級不影響其他應用
安裝
ubuntu下:
$ sudo apt-get install python-virtualenv
使用方法
創建虛擬環境
$ virtualenv [虛擬環境名稱]
例如,創建名字叫做ENV的虛擬環境
$ virtualenv ENV
默認情況下,虛擬環境會依賴系統環境中的 site packages
,就是說系統中已經安裝好的第三方package也會安裝在虛擬環境中,如果不想依賴這些package,那么在建立虛擬環境時可以加上參數 --no-site-packages
,例如:
$ virtualenv --no-site-packages [虛擬環境名稱]
啟動虛擬環境
$ cd ENV $ source ./bin/activate
此時命令行會多一個(ENV),ENV為虛擬環境名稱,接下來所有模塊都只會安裝到該目錄中去。
退出虛擬環境
$ deactivate
虛擬環境下安裝Python套件
Virtualenv 附帶有pip安裝工具,因此需要安裝的套件可以直接運行:
$ pip install [套件名稱]
如果沒有啟動虛擬環境,系統也安裝了pip工具,那么套件將被安裝在系統環境中,為了避免發生此事,可以在~/.bashrc文件中加上:
export PIP_REQUIRE_VIRTUALENV=true
或者讓在執行pip的時候讓系統自動開啟虛擬環境:
export PIP_RESPECT_VIRTUALENV=true
Virtualenvwrapper
Virtaulenvwrapper是virtualenv的擴展包,用于更方便管理虛擬環境,它可以做:
- 將所有虛擬環境整合在一個目錄下
- 管理(新增,刪除,復制)虛擬環境
- 切換虛擬環境
安裝
$ sudo easy_install virtualenvwrapper
此時還不能使用virtualenvwrapper,默認virtualenvwrapper安裝在 /usr/local/bin
下面,實際上你需要運行 virtualenvwrapper.sh
文件才行,先別急,打開這個文件看看,里面有安裝步驟,我們照著操作把環境設置好:
- 創建目錄用來存放虛擬環境
$ mkdir $HOME/.virtualenvs
- 在
~/.bashrc
中添加行:
export WORKON_HOME=$HOME/.virtualenvs
- 在
~/.bashrc
中添加行:
source /usr/local/bin/virtualenvwrapper.sh
- 運行:
source ~/.bashrc
此時virtualenvwrapper就可以使用了:
- 列出虛擬環境列表
$ workon
也可以使用
$ lsvirtualenv
- 新建虛擬環境
$ mkvirtualenv [虛擬環境名稱]
- 啟動/切換虛擬環境
$ workon [虛擬環境名稱]
- 刪除虛擬環境
$ rmvirtualenv [虛擬環境名稱]
- 離開虛擬環境
$ deactivate
參考:
http://www.virtualenv.org/en/latest/
http://stackoverflow.com/questions/11372221/virtualenvwrapper-not-found
http://www.openfoundry.org/tw/tech-column/8516-pythons-virtual-environment-and-multi-version-programming-tools-virtualenv-and-pythonbrew
http://virtualenvwrapper.readthedocs.org/en/latest/index.html