virtualenv和virtualenvwrapper介紹
virtualenv 工具可以建立隔離的python環境
我們經常會遇到兩個常見問題 版本依賴 間接許可
版本依賴:
1.假設有一個app,需要libfoo 1.0 的庫,另一個app需要libfoo 2.0的庫,如何才能把這兩個庫都安裝到/usr/lib/python2.7/site-packages。
2. 當系統的庫發生了變化,或許app就運行不了
間接許可
3. 當主機,我們沒有root許可權。
virtualenv 就能解這樣的問題,它將建立一個單獨的環境,庫將安裝到自己目錄下,不會和其他環境共用。
由於virtualenv用起來有點麻煩,wrapper對它進行了封裝,讓它更好用,最終我們使用wrapper提供的命令,但是實際工作都是virtualenv做的。 安裝
推薦使用pip安裝
pip install virutalenv virtualenvwrapper
virtualenv用法
建立環境
virtualenv [虛擬環境名稱] virtualenv test
預設建立的環境,是可以使用系統已經安裝的包。
如果不想使用系統的包,加上–no-site-packeages參數
virtualenv --no-site-packages test
這個時候會建立目錄test 啟用環境
cd testsource ./bin/activate
此時,就進入了一個隔離的環境,安裝,卸載和使用模組,都會在test環境中,而不會影響系統和其他環境。 退出環境
deactive
virtualenvwrapper的用法
我們可以看到,建立的環境都是零散的,而且還要執行cd,執行source 來啟用環境。
vw可以進行環境的管理,把建立的環境記錄下來,並進行管理。 初始化
第一次安裝完成後需要,先設定一個變數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 env1mkvirtualenv env2
環境建立之後,會自動進入該目錄,並啟用該環境。 切換環境
workon env1workon env2
列出已有環境
workon
退出環境
deactivate
刪除環境
rmvirtualenv
建立project
項目將建立到PROJECT_HOME目錄下,實際上相當於在某個目錄下,建了一個環境。 mkproject
參考
http://liuzhijun.iteye.com/blog/1872241
http://virtualenvwrapper.readthedocs.org/en/latest/
http://www.virtualenv.org/en/latest/