使用virtualenv和pip搭建python虛擬環境

本文共分爲三部分:html

1. virtualenv建立python虛擬環境python

2. pip與virtualenv安裝、卸載和管理Python包git

3. UBUNTU下舒服的python開發環境github

virtualenvubuntu

>>轉自 這裏緩存

virtualenv用於建立獨立的Python環境,多個Python相互獨立,互不影響,它可以:
1. 在沒有權限的狀況下安裝新套件
2. 不一樣應用能夠使用不一樣的套件版本
3. 套件升級不影響其餘應用bash

安裝

sudo apt-get install python-virtualenv

使用方法

virtualenv [虛擬環境名稱]

如,建立**ENV**的虛擬環境服務器

virtualenv ENV

默認狀況下,虛擬環境會依賴系統環境中的site packages,就是說系統中已經安裝好的第三方package也會安裝在虛擬環境中,若是不想依賴這些package,那麼能夠加上參數 --no-site-packages創建虛擬環境app

virtualenv --no-site-packages [虛擬環境名稱]

啓動虛擬環境

cd ENV
source ./bin/activate

注意此時命令行會多一個(ENV),ENV爲虛擬環境名稱,接下來全部模塊都只會安裝到該目錄中去。ide

退出虛擬環境

deactivate

在虛擬環境安裝Python套件

Virtualenv 附帶有pip安裝工具,所以須要安裝的套件能夠直接運行:

pip install [套件名稱]

若是沒有啓動虛擬環境,系統也安裝了pip工具,那麼套件將被安裝在系統環境中,爲了不發生此事,能夠在~/.bashrc文件中加上:

export PIP_REQUIRE_VIRTUALENV=true

或者讓在執行pip的時候讓系統自動開啓虛擬環境:

export PIP_RESPECT_VIRTUALENV=true

Virtualenvwrapper

Virtaulenvwrapper是virtualenv的擴展包,用於更方便管理虛擬環境,它能夠作:
1. 將全部虛擬環境整合在一個目錄下
2. 管理(新增,刪除,複製)虛擬環境
3. 切換虛擬環境
4. ...

安裝
sudo easy_install virtualenvwrapper

此 時還不能使用virtualenvwrapper,默認virtualenvwrapper安裝在/usr/local/bin下面,實際上你須要運行 virtualenvwrapper.sh文件才行,先別急,打開這個文件看看,裏面有安裝步驟,咱們照着操做把環境設置好。

  1. 建立目錄用來存放虛擬環境

    mkdir $HOME/.virtualenvs
  2. 在~/.bashrc中添加行: export WORKON_HOME=$HOME/.virtualenvs

  3. 在~/.bashrc中添加行:source /usr/local/bin/virtualenvwrapper.sh

  4. 運行: source ~/.bashrc

此時virtualenvwrapper就能夠使用了。

列出虛擬環境列表

workon

也能夠使用

lsvirtualenv

新建虛擬環境

mkvirtualenv [虛擬環境名稱]

啓動/切換虛擬環境

workon [虛擬環境名稱]

刪除虛擬環境

rmvirtualenv [虛擬環境名稱]

離開虛擬環境

deactivate
=====================================================================================================================================================================================
pip與virtualenv

>>原載於 這裏

pip能夠很方便的安裝、卸載和管理Python的包。
virtualenv則能夠創建多個獨立的虛擬環境,各個環境中擁有本身的python解釋器和各自的package包,互不影響。
pip和virtualenv能夠很好的協同工做,同時使用這兩個工具很是方便。

通常先安裝pip,安裝好後,pip install virtualenv就能夠自動從網上下載並安裝virtualenv了。而後virtualenv env1就能夠建立一個名爲env1的虛擬環境了,進入這個虛擬環境後,再使用pip install安裝其它的package就只會安裝到這個虛擬環境裏,不會影響其它虛擬環境或系統環境。

當須要將虛擬環境env1遷移或複製到另外一個虛擬環境(可能不在同一臺機器上)env2時,首先仍然須要在目的機器上安裝pip和virtualenv,而後採用如下方法之一安裝其餘的package:

      • 1.直接將env1裏的文件所有複製到env2裏,而後修改涉及路徑的文件。此種方法可能正常使用,但顯然不是好辦法。
      • 2.進入原虛擬環境env1,而後執行pip freeze > requirements.txt將包依賴信息保存在requirements.txt文件中。而後進入目的虛擬環境env2,執行pip install -r requirements.txt,pip就會自動從網上下載並安裝全部包。
      • 3.pip默認會從pypi服務器(http://pypi.python.org/simple)下載包的安裝文件,若是目的機器沒法連外網,則能夠採用如下辦法:
        • 3.1搭建本身的pypi服務器。專業的,能夠使用第三方的軟件包來搭建一個完整的pypi鏡像服務器,參考http://www.worldhello.net/2011/03/14/2357.html。更快速的方法只須要一條命令python -m SimpleHTTPServer便可完成搭建服務器,具體的目錄結構可參考原pypi服務器,簡而言之,就是把安裝文件打包放入目錄便可。搭建好服務器以後,在目的虛擬環境中,就能夠使用pip來安裝了,命令如:pip install -i http://127.0.0.1:8000/ -r requirements.txt
        • 3.2若是你實在不想搭建pypi服務器,也有辦法。首先將全部包的安裝文件下載下來,能夠手動下載,也能夠使用pip,如pip install -d /path/to/save/ -r requirements.txt,而後本身修改requirements.txt文件,將每一行改爲對應的包的安裝文件的路徑。最後在目的虛擬環境中使用pip安裝,如pip install -r requirements.txt便可。
        • 3.3還有一種途徑,就是pip提供的bundle選項。首先執行pip bundle MyEnv.pybundle -r requirements.txt,將生成一個MyEnv.pybundle文件,該文件夾包含全部包的安裝文件(注意必須後綴名必須是.pybundle),默認是從新從pypi服務器下載安裝文件的,若是願意,也能夠利用3.1中的方法,指定本地的pypi服務器。而後在目的虛擬環境中執行pip install MyEnv.pybundle便可。
      • 4.pip install還有許多有用的選項,如--download-cache=DIR能夠指定下載安裝文件時緩存至DIR路徑,下次須要時則直接讀取緩存文件。具體選項能夠執行pip help install獲得詳細信息。
      • 5.另外,還能夠將本身的包上傳至pypi服務器,分享給全部人。具體可參考http://guide.python-distribute.org/creation.htmlhttp://matrix.42qu.com/10734668

============================================================================================================================

另一個配置python環境的好貼

在Ubuntu下配置舒服的Python開發環境

相關文章
相關標籤/搜索