Virtualenv的作用
Virtualenv用于創(chuàng)建獨立的Python環(huán)境,多個Python環(huán)境相互獨立,互不影響轻掩,它能夠:
- 在沒有權限的情況下安裝新套件
- 不同應用可以使用不同的套件版本
- 套件升級不影響其他應用
安裝
ubuntu下:
$ sudo apt-get install python-virtualenv
使用方法
創(chuàng)建虛擬環(huán)境
$ virtualenv [虛擬環(huán)境名稱]
例如炸裆,創(chuàng)建名字叫做ENV的虛擬環(huán)境
$ virtualenv ENV
默認情況下娜搂,虛擬環(huán)境會依賴系統(tǒng)環(huán)境中的 site packages
薛闪,就是說系統(tǒng)中已經安裝好的第三方package也會安裝在虛擬環(huán)境中辛馆,如果不想依賴這些package,那么在建立虛擬環(huán)境時可以加上參數(shù) --no-site-packages
,例如:
$ virtualenv --no-site-packages [虛擬環(huán)境名稱]
啟動虛擬環(huán)境
$ cd ENV $ source ./bin/activate
此時命令行會多一個(ENV)逛绵,ENV為虛擬環(huán)境名稱怀各,接下來所有模塊都只會安裝到該目錄中去倔韭。
退出虛擬環(huán)境
$ deactivate
虛擬環(huán)境下安裝Python套件
Virtualenv 附帶有pip安裝工具术浪,因此需要安裝的套件可以直接運行:
$ pip install [套件名稱]
如果沒有啟動虛擬環(huán)境,系統(tǒng)也安裝了pip工具寿酌,那么套件將被安裝在系統(tǒng)環(huán)境中胰苏,為了避免發(fā)生此事,可以在~/.bashrc文件中加上:
export PIP_REQUIRE_VIRTUALENV=true
或者讓在執(zhí)行pip的時候讓系統(tǒng)自動開啟虛擬環(huán)境:
export PIP_RESPECT_VIRTUALENV=true
Virtualenvwrapper
Virtaulenvwrapper是virtualenv的擴展包醇疼,用于更方便管理虛擬環(huán)境硕并,它可以做:
- 將所有虛擬環(huán)境整合在一個目錄下
- 管理(新增,刪除秧荆,復制)虛擬環(huán)境
- 切換虛擬環(huán)境
安裝
$ sudo easy_install virtualenvwrapper
此時還不能使用virtualenvwrapper倔毙,默認virtualenvwrapper安裝在 /usr/local/bin
下面,實際上你需要運行 virtualenvwrapper.sh
文件才行乙濒,先別急陕赃,打開這個文件看看,里面有安裝步驟卵蛉,我們照著操作把環(huán)境設置好:
- 創(chuàng)建目錄用來存放虛擬環(huán)境
$ mkdir $HOME/.virtualenvs
- 在
~/.bashrc
中添加行:
export WORKON_HOME=$HOME/.virtualenvs
- 在
~/.bashrc
中添加行:
source /usr/local/bin/virtualenvwrapper.sh
- 運行:
source ~/.bashrc
此時virtualenvwrapper就可以使用了:
- 列出虛擬環(huán)境列表
$ workon
也可以使用
$ lsvirtualenv
- 新建虛擬環(huán)境
$ mkvirtualenv [虛擬環(huán)境名稱]
- 啟動/切換虛擬環(huán)境
$ workon [虛擬環(huán)境名稱]
- 刪除虛擬環(huán)境
$ rmvirtualenv [虛擬環(huán)境名稱]
- 離開虛擬環(huán)境
$ 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