python的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

本文出自夜驚心的博客,轉載請保留出處

http://blog.csdn.net/tulip527/article/details/8478093

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章