【python工具篇】virtualenv和virtualenvwrapper

virtualenv和virtualenvwrapper介紹

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 [虛擬環境名稱] 
virtualenv test

默認建立的環境,是可使用系統已經安裝的包。svg

若是不想使用系統的包,加上–no-site-packeages參數工具

virtualenv --no-site-packages test

這個時候會建立目錄testcode

激活環境

cd test
source ./bin/activate

此時,就進入了一個隔離的環境,安裝,卸載和使用模塊,都會在test環境中,而不會影響系統和其餘環境。xml

退出環境

deactive

virtualenvwrapper的用法

咱們能夠看到,建立的環境都是零散的,並且還要執行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

項目將建立到PROJECT_HOME目錄下,實際上至關於在某個目錄下,建了一個環境。

 mkproject

參考

http://liuzhijun.iteye.com/blog/1872241
http://virtualenvwrapper.readthedocs.org/en/latest/
http://www.virtualenv.org/en/latest/

相關文章
相關標籤/搜索