virtualenv 工具能夠建立隔離的python環境
咱們常常會遇到兩個常見問題python
版本依賴:
1.假設有一個app,須要libfoo 1.0 的庫,另外一個app須要libfoo 2.0的庫,如何才能把這兩個庫都安裝到/usr/lib/python2.7/site-packages?
2. 當系統的庫發生了變化,或許app就運行不了
間接許可
3. 當主機,咱們沒有root權限。web
virtualenv 就能解這樣的問題,它將建立一個單獨的環境,庫將安裝到本身目錄下,不會和其餘環境共享。bash
因爲virtualenv用起來有點麻煩,wrapper對它進行了封裝,讓它更好用,最終咱們使用wrapper提供的命令,可是實際工做都是virtualenv作的。app
推薦使用pip安裝python2.7
pip install virtualenv virtualenvwrapper
virtualenv [虛擬環境名稱] virtualenv test
默認建立的環境,是可使用系統已經安裝的包。svg
若是不想使用系統的包,加上–no-site-packeages參數工具
virtualenv --no-site-packages test
這個時候會建立目錄testcode
cd test source ./bin/activate
此時,就進入了一個隔離的環境,安裝,卸載和使用模塊,都會在test環境中,而不會影響系統和其餘環境。xml
deactive
咱們能夠看到,建立的環境都是零散的,並且還要執行cd,執行source 來激活環境。
vw能夠進行環境的管理,把建立的環境記錄下來,並進行管理。blog
第一次安裝完成後須要,先設置一個變量WORKON_HOME,它將做爲全部環境的前綴,而且source /usr/local/bin/virtualenvwrapper.sh
$ mkdir -p $WORKON_HOME $ export WORKON_HOME=~/Envs $ source /usr/local/bin/virtualenvwrapper.sh
把export命令和source命令,加入到~/.bash_profile
,就無需重複初始化了
mkvirtualenv env1 mkvirtualenv env2
環境建立以後,會自動進入該目錄,並激活該環境。
workon env1 workon env2
workon
deactivate
rmvirtualenv
項目將建立到PROJECT_HOME目錄下,實際上至關於在某個目錄下,建了一個環境。 mkproject
http://liuzhijun.iteye.com/blog/1872241
http://virtualenvwrapper.readthedocs.org/en/latest/
http://www.virtualenv.org/en/latest/