使用虛擬環境virtualenv/Virtualenvwrapper隔離多個python


virtualenv

系統中的多個python混用會導致$PYTHONPATH混亂,或者各個工程對於package的版本要求不同等等情況。有一個簡單的解決方案就是用virtualenv來隔離多個python,其本質只是實現隔離不同python中$PYTHONPATH的路徑,當然也可以衍生到隔離多個$PATH

安裝virtualenv

# Ubuntu/Linux 64-bit $ sudo apt-get install python-pip python-dev python-virtualenv # Mac OS X $ sudo easy_install pip $ sudo pip install --upgrade virtualenv

Virtualenvwrapper

當有很多個虛擬環境時,我們可能會記不清有哪些虛擬環境,要搞清楚每個環境中有哪些package就更難了,因此這里推薦用Virtualenvwrapper來對虛擬環境進行管理。

配置Virtualenvwrapper

在安裝Virtualenvwrapper之前用pip安裝上virtualenv或用apt-get安裝上python-virtualenv

$ sudo pip install virtualenvwrapper 

把下面幾行加入~/.bashrc

 

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python2.7 # 這句是為了防止環境變量$PATH中已有其它環境的python,需要換成自己需要的python路徑

export WORKON_HOME=$HOME/.virtualenvs # 放所有虛擬環境的地方

source /usr/local/bin/virtualenvwrapper.sh

 

在終端輸入source ~/.bashrc

新建Virtualenv

新建虛擬環境的指令由原來的virtualenv vpath更換為mkvirtualenv vname,默認把路徑放到了$WORKON_HOME下,並且原來的--system-site-packages--no-site-packages等選項都還是可以用的。

mkvirtualenv VirtalenvName

建好之后默認就已經進入這個虛擬環境了(命令行前會有一個括號+環境名的提示),退出是deactivate

 

Virtualenvwrapper常用指令

mkvirtualenv 創建環境
workon 切換到環境
deactivate 注銷當前環境
lsvirtualenv 列出所有環境
rmvirtualenv 刪除環境
cpvirtualenv 復制環境
cdsitepackages cd到當前環境的site-packages目錄
lssitepackages 列出當前環境中site-packages內容
setvirtualenvproject 綁定現存的項目和環境
wipeenv 清除環境內所有第三方包


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM