標籤:ade 工程 linu rtu exp bsp work ack mac os x
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 清除環境內所有第三方包
使用虛擬環境virtualenv/Virtualenvwrapper隔離多個python