Python 程式設計/包管理
外觀
pip 是標準的 Python 包管理器,可以輕鬆地從 PyPI 倉庫下載和安裝包。從 Python 2.7.9 和 3.5.4 版本開始,pip 就成為了 Python 發行版的一部分。如果你沒有 pip,可以透過從 bootstrap.pypa.io 下載 get-pip.py 並執行 python get-pip.py 來安裝它。本章不涉及其他包管理器。
pip 使用示例
- pip install xlrd
- 從 PyPI 倉庫安裝 xlrd 包,或者如果自定義為搜尋其他倉庫,則從其他倉庫安裝。
- pip install --upgrade xlrd
- 將包升級到最新版本。
- pip install mypackage.whl
- 從 wheel 檔案 mypackage.whl 安裝包。當由於某種原因無法從 PyPI 安裝並且需要手動下載包的 wheel 檔案 (.whl) 時,這很有用。
- pip freeze
- 列出已安裝的包及其版本。
- pip show xlrd
- 輸出有關已安裝包(此處為 xlrd)的資訊,包括版本、作者和許可證。
- python -m pip install xlrd
- 透過 python 和 -m 選項呼叫 pip。例如,在為 PyPy(Python 的即時編譯器)安裝包時很有用,在這種情況下,您將使用 pypy -m pip install xlrd。
- pip --version
- 輸出 pip 版本。
- pip install --upgrade pip
- 升級 pip 本身。
PyPI 是一個 Python 包的線上倉庫,其中許多包是在相當寬鬆的許可證(如 MIT 許可證或 BSD 許可證之一)下發布的。PyPI 託管純 Python 包和利用 C 語言的 Python 包。安裝純 Python 包(如 xlrd)通常非常順利。對於 C 語言包,其中許多包都有針對多個作業系統的預編譯二進位制檔案,這使得安裝也同樣順利。但是,對於僅釋出原始碼的 C 語言包,pip 需要一個正常工作且設定正確的編譯器才能成功安裝該包。
wheel 檔案 是一個包分發。它可以包含純 Python 程式碼,也可以根據需要包含預編譯的可執行二進位制檔案。單個包可以為不同的 Python 版本和作業系統提供多個 wheel 檔案。包含預編譯二進位制檔案的示例 wheel 檔案是 numpy-1.16.2-cp27-cp27m-win32.whl,用於 numpy 包,可從 pypi 下載檔案 部分獲取。如果您在使用 pip 時沒有遇到問題,則無需擔心 wheel 檔案。
此檔案列出了應用程式依賴項。它相當於 PHP 中的 composer.json 或 JavaScript 中的 package.json。
檔案生成
pip freeze > requirements.txt
依賴項安裝
pip install -r requirements.txt
- pip - Python 包安裝程式,pip.pypa.io
- 安裝 在 pip 文件中,pip.pypa.io
- 如何在 Windows 上安裝 pip?,stackoverflow.com
- 安裝包,packaging.python.org
- 打包 Python 專案,packaging.python.org
- Python 包索引 (PyPI),pypi.org
- PyPI 上超過 10% 的 Python 包未附帶任何許可證,2018 年,snyk.io