1. 程式人生 > >python的第三方包的安裝方法以其常用第三方庫

python的第三方包的安裝方法以其常用第三方庫

https://pypi.python.org/pypi/Scrapy
搜尋pypi+想要安裝的包名,就能迅速得到自己想要的包
第一種基本安裝方法
1 下載第三方包,解壓
2 在命令提示符裡輸入cmd,然後用cd進入到第三方包的路徑下
3 輸入python setup.py build
4 輸入python setup.py install
看到包內的檔案在安裝即可……

第二種 用pip和virtualenv安裝

p可以很方便的安裝、解除安裝和管理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

easy_install簡介:
easy_install是由PEAK(Python Enterprise Application Kit)開發的setuptools包裡帶的一個命令,所以使用easy_install實際上是在呼叫setuptools來完成安裝模組的工作。 Perl 使用者比較熟悉 CPAN,而 Ruby 使用者則比較熟悉 Gems;引導 setuptools 的ez_setup工具和隨之而生的擴充套件後的easy_install 與 “Cheeseshop”(Python Package Index,也稱為 “PyPI”)一起工作來實現相同的功能。它可以很方便的讓您自動下載,編譯,安裝和管理Python包。

第三種 用Setuptools和virtualenv安裝
Setuptools簡介:
setuptools是 Python Enterprise Application Kit(PEAK)的一個副專案,它 是一組Python的distutilsde工具的增強工具(適用於 Python 2.3.5 以上的版本,64 位平臺則適用於 Python 2.4 以上的版本),可以讓程式設計師更方便的建立和釋出 Python 包,特別是那些對其它包具有依賴性的狀況。
經常接觸Python的同學可能會注意到,當需要安裝第三方python包時,可能會用到easy_install命令。easy_install是由PEAK(Python Enterprise Application Kit)開發的setuptools包裡帶的一個命令,所以使用easy_install實際上是在呼叫setuptools來完成安裝模組的工作。

Setuptools安裝:
A. 使用ez_setup.py安裝
這是 setuptools 自豪的一種安裝方式,只需要一個大約 8K 作為的指令碼ez_setup.py,就能自動為使用者安裝包括 setuptools 自身在內的許多 Python 包。
(參考:http://bkeep.blog.163.com/blog/static/12341429020123395532879/)
使用這種方式,使用者只需要下載 ez_setup.py 並執行,就可以自動下載和安裝適合使用者當前 Python 版本的適當的 setuptools egg 檔案(當然,使用者需要 Python 2.3.5 以上的版本,64 位作業系統的使用者則需要 Python 2.4 以上的版本)。此外,這段指令碼還會將可執行的easy_install 指令碼安裝到使用者所有的作業系統 Python 可執行指令碼正常應該安裝的位置(例如,Windows 使用者會安裝到 Python 安裝目錄下的 Scripts 目錄中)。關於這種安裝方法的更詳細說明和注意事項,請參考其官方說明(見擴充套件閱讀)。簡單的安裝命令如下:
wget -q ez_setup.py下載地址(見擴充套件閱讀) 安裝完後,最好確保
B. 使用完整的安裝包安裝
當然,使用者也可以使用 setuptools 在 Python Cheese Shop 上釋出的合適的完整的釋出版本來安裝。對於使用 Windows 的使用者,這也是挺方便的方法。

下載完成後雙擊執行安裝檔案,即可在D:\Program Files\python2.7\scripts下安裝easy_install。包含一個easy_install.exe,然後進行環境變數設定,在系統環境變數中做如下設定:
(也就是將D:\Program Files\python2.7\scripts新增到環境變數中)
許多 Linux 發行版的官方包管理倉庫都包含 setuptools 的某個版本。例如,如果你跟我一樣使用Ubuntu ,那安裝 setuptools 只是簡單的進行如下操作:

apt-get install python-setuptools

     Setuptools安裝好後就可以用easy_install安裝模組了

easy_install 使用方法:
使用方法非常簡單,在命令列輸入“easy_install 引數”即可。
  a、通過模組名稱來安裝。setuptools會自動搜尋PyPI 以查詢最新版本的模組。如果找到的話,她會自動下載、編譯和安裝:例如
  easy_install SQLObject
  easy_install “python_dateutil==1.5”
  easy_install “python_dateutil>=1.5”
  說明,安裝過程可能需要許可權,如果是ubuntu的話,可以加上sudo
  b、指定查詢頁面(”download page”)來使用名稱和版本資訊來安裝或升級一個模組:
  easy_install -f (此處新增一個url,百科不讓加) SQLObject
  c、從指定模組下載地址來下載模組原始碼並在下載成功之後編譯安裝
  easy_install (此處新增一個模組下載url,百科不讓加,可參考擴充套件閱讀)
  d、在本地已經存在的egg檔案基礎上來安裝模組
  easy_install /my_downloads/OtherPackage-3.2.1-py2.3.egg
  e、升級一個已經安裝的模組到最新版本,如果在PyPI中這個模組有最新版本。
  easy_install –upgrade PyProtocols
  f、從原始碼中安裝模組(原始碼已經下載並解壓到當前資料夾下)(New in 0.5a9)
  easy_install .
  g、模組解除安裝 easy_install -m package-name (比如easy_install -m pylab)
  如果想刪除通過easy_install安裝的軟體包,比如說:MySQL-python,可以執行命令:
  easy_install -m MySQL-python
注:此操作會從easy-install.pth檔案裡把MySQL-python的相關資訊抹去,剩下的egg檔案,你可以手動刪除。

用easy_install安裝networkx:

如果用方法a安裝,顯示download error,可轉用其它方法,如d。
安裝完畢,進行測試。
開啟python-command line,進行如圖輸入“import networkx as nx” “print nx”,就有相關顯示,如果沒有成功,會提示不認識networkx類庫的

開發環境為eclipse的使用者,安裝一個新的python開發包後,import後不能使用包內的方法。
解決方法:

需要在Preferences-pyDev-Interpreter裡重新配置Python的編譯器,因為當前沒有包含新加進來的包

可以刪除掉,重新加上。

否則會導致import模組後,模組內的方法仍然不能呼叫。