為Python安裝第三方模組

2021-09-05 06:02:29 字數 3008 閱讀 9908

一、基本安裝

python distribution utilities(distutils)在python 2.0時引入,其極大地方便了對第三方模組的管理。通常,模組作者提供的模組可能會以不同的形式出現,這其中,最易於安裝的莫過於作業系統上對應的安裝包,如windows上的exe或msi,以及基於rpm的linux發行版(如redhat/centos/suse等)上的rpm格式的包。然而,模組的最常見形式應該是原始碼包,如果其是使用distutils遵循標準格式進行的封包,安裝起來也很簡單。在類unix作業系統上,使用「python setup.py install」即可安裝,在windows系統上,只需要在「cmd」中執行「setup.py install」命令即可。

「setup.py install」的執行過程包含兩個階段:build和install。事實上,出於定製等目的,此兩個階段可以分別進行:首先執行「python setup.py build」進行編譯,而後再執行「python setup.py install」進行安裝。不過,此時的install階段仍然會顯示執行build的過程,雖然其並未執行任何多餘的操作。

「python setup.py build」編譯過程直接在原始碼目錄下進行,如果想保持原始碼的整潔,也可以通過「python setup.py build --build-base=/path/to/pybuild」命令將編譯的結果儲存至額外指定的路徑下。編譯完成後,在目標路徑下會用乙個名為「lib」或「lib.」的目錄來儲存即將安裝的模組檔案,其中「lib」用於完全用python語言開發的模組,而「lib.」通常用於基於c/c++開發的模組。

「python setup.py install」實現的安裝過程非常簡單,其僅是將編譯好的檔案複製到指定的模組安裝目錄中。在未指定安裝目錄時,模組的安裝目錄為預設,其名稱通常為「site-packages」,其具體位置可以在python環境中進行檢視,例如在windows系統上檢視的如下所示的結果中的「c:\\python27\\lib\\site-packages」。

>>> import sys

>>> sys.path

['', 'c:\\windows\\system32\\python27.zip', 'c:\\python27\\dlls', 'c:\\python27\\lib', 'c:\\python27\\lib\\plat-win', 'c:\\python27\\lib\\lib-tk', 'c:\\python27', 'c:\\python27\\lib\\site-packages']

centos 6.5 x86_64系統自帶的python環境顯示結果則要複雜一些,如下所示。

>>> sys.path

['', '/usr/lib64/python26.zip', '/usr/lib64/python2.6', '/usr/lib64/python2.6/plat-linux2', '/usr/lib64/python2.6/lib-tk', '/usr/lib64/python2.6/lib-old', '/usr/lib64/python2.6/lib-dynload', '/usr/lib64/python2.6/site-packages', '/usr/lib64/python2.6/site-packages/gtk-2.0', '/usr/lib/python2.6/site-packages', '/usr/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg-info']

二、自定義安裝

2.1 自定義模組的安裝基準目錄

實踐中,將第三方模組安裝在非預設目錄下也是比較常見的需求,而distutils的install命令為此也專門提供了相應的處理機制。

對於無法在全域性site-packages目錄寫入檔案的普通使用者來說,可以為install命令指定「--user」選項將模組安裝至使用者家目錄中相應的位置(類unix系統通常為user_base/lib/pythonx.y/site-packages)。

如果出於僅以自用的目的想把模組安裝至某特定路徑下,可以為install命令指定「--home=」選項。不過,如果想讓python使用此模組,需要為python直譯器指定搜尋路徑,或通過編譯sitecustomize來呼叫site.addsitedir(),也可以通過編輯sys.path的值來實現。

此外,常見於一些linux發行版中,python會安裝在/usr路徑下,如果需要將第三方模組在安裝於/usr/local而非預設的/usr路徑下,則需要使用「--prefix」或「--exec-prefix」選項。其中,「--prefix」用於指定安裝目錄,而「--exec-prefix」用於指定平台特有的檔案(例如c庫)的安裝目錄,省略「--exec-prefix」時,其預設為「--prefix」指定的位置。檢視當前系統python的預設prefix,可以通過如下方式進行。

>>> import sys

>>> sys.prefix

'/usr'

2.2 安裝路徑的深度定製

在安裝第三方模組時,其會自動在安裝基準目錄中使用不同的目錄來分別儲存如python模組、擴充套件模組、可執行檔案、資料及c標頭檔案等幾種不同類別的檔案。如果需要對此些子目錄進行定製,可以使用相應的選項進行:

這些路徑可以使用相對路徑或絕對路徑。不過,使用--install-lib會覆蓋--instal-purelib或--install-platlib指定的位置。例如下面的安裝命令。

python setup.py install --home=~ \

--install-purelib=python/lib \

--install-platlib=python/lib.$plat \

--install-scripts=python/scripts

--install-data=python/data

[install]

install-base=$home/python

install-purelib=lib

install-platlib=lib.$plat

install-scripts=scripts

install-data=data

Python第三方模組安裝

python的第三方模組安裝有兩種常見方式 第一種方式 在命令視窗通過 pip install module name 命令安裝 注意,1如果電腦中有兩個版本的python直譯器,要確認你要在哪個直譯器上安裝 2要確保你的直譯器有pip.exe檔案,如果沒有可以通過 easy install pip...

第三方模組安裝

第三方模組的安裝 python 之所以如此受程式設計師的喜愛,可能和它擁有大量的第三方模組相關,如計算機視覺領城的opencv 機器學習領城的tensorflow等。我們如果需要用到某些功能,可以首先去看網上是否已經有了實現該功能的模組,如果有這樣的模組,那麼直接import就行了,而不必自己花費時...

第三方模組安裝

關於pip 在python中,安裝第三方模組,是通過包管理工具pip完成的 pip只針對於windows系統,安裝python時可通過勾選pip和add python.exe to path一併安裝pip 一般來說,第三方庫都會在python官方的pypi.python.org 註冊 要安裝乙個第三...