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


本文共分為三部分:

1. virtualenv創建python虛擬環境

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

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

virtualenv

>>轉自 這里

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

安裝

sudo apt-get install python-virtualenv

使用方法

virtualenv [虛擬環境名稱] 

如,創建**ENV**的虛擬環境

virtualenv ENV

默認情況下,虛擬環境會依賴系統環境中的site packages,就是說系統中已經安裝好的第三方package也會安裝在虛擬環境中,如果不想依賴這些package,那么可以加上參數 --no-site-packages建立虛擬環境

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

啟動虛擬環境

cd ENV
source ./bin/activate

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

退出虛擬環境

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開發環境


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM