安裝Python模塊
作為一個受歡迎的開源開發項目,Python具有活躍的貢獻者和用戶支持社區,並且根據開放源代碼許可條款,其軟件可供其他Python開發人員使用。
這使Python用戶可以有效地共享和協作,得益於其他人已經針對常見(有時甚至很少見!)問題創建的解決方案,並有可能將自己的解決方案貢獻給公共資源庫。
本指南涵蓋了該過程的安裝部分。有關創建和共享自己的Python項目的指南,請參閱 發行指南。
注意
對於公司和其他機構用戶,請注意,許多組織在使用和貢獻開源軟件方面都有自己的政策。在使用Python隨附的分發和安裝工具時,請考慮此類策略。
關鍵術語
-
pip是首選的安裝程序。從Python 3.4開始,它默認包含在Python二進制安裝程序中。 -
甲虛擬環境是半隔離的Python環境,允許要安裝的軟件包使用由特定的應用程序,而不是被安裝的系統寬。
-
venv是創建虛擬環境的標准工具,自Python 3.3以來已成為Python的一部分。從Python 3.4開始,它默認安裝pip到所有創建的虛擬環境中。 -
virtualenv是的第三方替代產品(也是其前身)venv。它允許虛擬環境在3.4之前的Python版本上使用,這些虛擬環境根本不提供venv,或者不能自動安裝pip到創建的環境中。 -
在Python打包指數是開源的一個公共倉庫許可包,以供其他Python用戶的使用提供。
-
在Python打包管理局是該組的開發人員和文檔的作者負責的標准包裝工具維護和發展以及相關的元數據和文件格式標准。他們在GitHub和 Bitbucket上維護各種工具,文檔和問題跟蹤器。
-
distutils是最初於1998年添加到Python標准庫中的原始構建和發行系統。雖然distutils逐步淘汰了對它的直接使用,但它仍為當前的打包和發行基礎架構奠定了基礎,不僅是標准庫的一部分,但其名稱可以通過其他方式保留(例如,用於協調Python打包標准開發的郵件列表的名稱)。
在3.5版本中改變了:采用venv目前推薦用於創建虛擬環境。
也可以看看
基本用法
所有標准包裝工具均設計為可從命令行使用。
以下命令將從Python Packaging Index安裝模塊的最新版本及其依賴項:
python -m pip install SomePackage
注意
對於POSIX用戶(包括Mac OS X和Linux用戶),本指南中的示例假定使用虛擬環境。
對於Windows用戶,本指南中的示例假定在安裝Python時選擇了調整系統PATH環境變量的選項。
也可以直接在命令行上指定精確或最低版本。當使用比較運營商,如>,<或得到由shell解釋其他一些特殊字符,包名和版本應該雙引號括起來:
python -m pip install SomePackage==1.0.4 # specific version
python -m pip install "SomePackage>=1.0.4" # minimum version
通常,如果已經安裝了合適的模塊,則嘗試再次安裝它不會起作用。必須明確要求升級現有模塊:
python -m pip install --upgrade SomePackage
有關pip其功能的更多信息和資源,請參見《Python打包用戶指南》。
虛擬環境的創建是通過venv模塊完成的。使用上面顯示的命令將軟件包安裝到活動的虛擬環境中。
也可以看看
我如何 …?
這些是一些常見任務的快速解答或鏈接。
…是否安裝pip在Python 3.4之前的Python版本中?
Python才開始pip與Python 3.4 捆綁在一起。對於早期版本, pip需要按照《 Python打包用戶指南》中的說明進行“引導”。
也可以看看
…僅為當前用戶安裝軟件包?
傳遞--user選項將僅為當前用戶安裝軟件包,而不是為系統的所有用戶安裝軟件包。python -m pip install
…安裝科學的Python軟件包?
許多科學的Python軟件包具有復雜的二進制依賴關系,並且目前不容易pip直接使用安裝。此時,對於用戶而言,通過其他方式安裝這些軟件包通常 比嘗試使用來安裝它們更為容易 pip。
也可以看看
…是否可以同時安裝多個版本的Python?
在Linux,Mac OS X和其他POSIX系統上,結合使用版本化的Python命令和-m開關,以運行以下命令的適當副本 pip:
python2 -m pip install SomePackage # default Python 2
python2.7 -m pip install SomePackage # specifically Python 2.7
python3 -m pip install SomePackage # default Python 3
python3.4 -m pip install SomePackage # specifically Python 3.4
適當版本的pip命令也可能可用。
在Windows上,將pyPython啟動器與-m 開關結合使用:
py -2 -m pip install SomePackage # default Python 2
py -2.7 -m pip install SomePackage # specifically Python 2.7
py -3 -m pip install SomePackage # default Python 3
py -3.4 -m pip install SomePackage # specifically Python 3.4
常見的安裝問題
在Linux上的系統Python中安裝
在Linux系統上,Python安裝通常會包含在發行版中。安裝到此Python安裝中需要對系統的root訪問權限,並且如果使用意外升級了組件,則可能會干擾系統軟件包管理器和系統其他組件的操作pip。
在此類系統上,使用來安裝軟件包時,通常最好使用虛擬環境或按用戶安裝pip。
安裝二進制擴展
Python通常嚴重依賴基於源的分發,最終用戶應在安裝過程中從源編譯擴展模塊。
通過引入對二進制wheel格式的支持以及通過Python打包索引發布至少適用於Windows和Mac OS X的車輪的功能,隨着時間的流逝,隨着用戶更經常地能夠安裝預建組件,該問題有望減少。擴展程序,而不需要自己構建。
某些 尚未安裝為預構建文件的科學軟件安裝解決方案wheel也可能有助於獲取其他二進制擴展名,而無需在本地進行構建。
也可以看看
