切換語言為:簡體
Python 開發者不可缺少的工具:包管理器 pip 全介紹

Python 開發者不可缺少的工具:包管理器 pip 全介紹

  • 爱糖宝
  • 2024-07-27
  • 2092
  • 0
  • 0

pipPython 程式語言的官方包管理工具,它使得安裝、更新和解除安裝第三方庫變得簡單而高效。它在功能上類似於 nodejs 中的 npmPHPComposer,是 Python 開發者不可缺少的工具。

pip 的安裝與配置

大多數情況下,pip 已經作為 Python 環境的一部分預裝好了,無需進行額外的安裝步驟。然而,爲了確保 pip 的使用,需要確保 Python 和 pip 都被新增到了系統的環境變數中。這樣,就可以在命令列介面中直接呼叫 pip 命令。

本文將詳細記錄如何使用 pip 來安裝、解除安裝和更新 Python 專案所需的依賴包,以及常用的pip命令和選項。

設定pip映象源

pip預設安裝源在國外,國內安裝可能比較慢,若想加速可更換為國內映象,比如阿里雲、清華大學映象等

方法:

開啟檔案 C:\Users\你的使用者名稱\AppData\Roaming\pip\pip.ini,如果不存在 pip資料夾則建立該資料夾並新建 pip.ini檔案,如果存在pip資料夾但不存在pip.ini檔案,同樣新建該檔案,然後輸入

[global]
index-url = https://mirrors.aliyun.com/pypi/simple/

[install]
trusted-host = mirrors.aliyun.com

表示映象源用阿里源

檢視幫助資訊

命令列視窗中輸入 pip -h即可檢視幫助資訊,非常詳細。

Python 開發者不可缺少的工具:包管理器 pip 全介紹

要檢視某個命令的幫助資訊,可輸入pip 命令 -h,比如檢視 install 命令的幫助資訊 pip install -h

Python 開發者不可缺少的工具:包管理器 pip 全介紹

安裝依賴包:install命令

1. 安裝一個或多個依賴包

pip install 包名1 包名2

2. 安裝特定版本的依賴包

pip install 包名==版本號

版本號規則:

~=: 匹配相容版本,一般是第一個點號之前相同的版本均可如 ~=2.0

==: 版本完全匹配 如 ==3.24.0

!=: 排除指定的版本 如 !=3.24.0

<=, >=: 小於某個版本並且大於某個版本 <=2.6,>=2.1

<, >: 類似上個

===: 匹配不符合版本義控制的某個版本號。==="prev6"

示例安裝 requests 包

    pip install requests==2.32.3
    
    pip install requests >=2.0
    pip install requests !=2.0
    pip install requests ~=2.0
    pip install requests >=2.0,<=2.3
    # 限定python版本必須大於等於3.8
    pip install requests>=2 ; python >= '3.8'

參見版本號規則官方教程 packaging.python.org/en/latest/s…

3. 從本地目錄或檔案安裝包

要求本地目錄下存在 setup.py 檔案pip install path/to/dir

或從本地包含 setup.py 的zip檔案、whl檔案中安裝

pip install path/to/zipfile.zip

4. 從git上安裝

pip install git+倉庫urlpip install git+https://github.com/<user-name>/<repository-name>

安裝倉庫的特定版本 pip install git+https://github.com/requests/requests@v2.30.0

5. 從url地址安裝包

pip install https://github.com/requests/requests/archive/v2.30.0.zip

6. pip install 命令的常用選項

主義:以英文逗號分隔的2部分,前面短橫線(-)的是短選項,後邊雙橫線的是長選項(--),兩者等同,使用任意一個均可以

-e, --editable

-e--editableinstall 命令的一個選項,用於以可編輯模式(editable mode)安裝專案。 -e是短選項,--editable是長選項,二者等同,用任意一個即可。

可編輯模式通常被稱為 setuptoolsdevelop mode,它允許你在本地進行開發,並在修改程式碼後立即看到變化,而不需要重新安裝包。

--dry-run

--dry-runinstall 命令的一個選項,用於在不實際安裝任何內容的情況下,僅列印出安裝的過程。用於檢查安裝過程中可能發生的情況,而不實際修改你的 Python 環境。

-r, --requirement

該選項用於從指定的檔案中批次安裝依賴包,例如 pip install -r requests.txt 從給定的requirements.txt檔案中安裝指定的依賴包。此選項可多次使用。

檔名任意,只要是符合格式即可,一般使用 requirements.txt 名稱

-U, --upgrade

該選項將指定軟體包升級到最新版本。

--force-reinstall 強制重新安裝指定的軟體包,即使它們已經是最新的。

-I,--ignore-installed

忽略已安裝的軟體包,並覆蓋它們。如果現有軟體包的版本不同或使用不同的軟體包管理器安裝,這可能會破壞系統!

--trusted-host

該選項用於將某個主機或主機:埠標記為可信賴的。在某些情況下,軟體包索引伺服器可能沒有有效的HTTPS證書或使用非標準的埠。使用此引數可以告訴pip信任該主機,即使它沒有有效的證書或使用了非標準埠。

使用方法:

pip install package_name --trusted-host hostname

例如,要安裝requests包並信任阿里映象 mirrors.aliyun.com 的主機,可以執行以下命令:
pip install requests --trusted-host mirrors.aliyun.com

--no-deps

該選項用於指示 pip 在安裝包時不安裝其依賴項。 通常,pip 會自動解析並安裝包所依賴的其他包,以確保安裝的包能夠正常執行。使用 --no-deps 選項將禁止這種自動依賴項安裝行為。

--no-warn-conflicts 不警告版本衝突問題

-i, --index-url

用於指定從哪個 url地址安裝軟體包。預設是官方pip庫,可替換為阿里雲映象等,比如示例是清華大學映象

--extra-index-url

除了 --index-url 之外,額外使用的軟體包索引的 URL。

--no-index

忽略軟體包索引,如果你不希望從指定的地址,比如官方映象、阿里雲映象中尋找軟體包,而是從其他指定的位置,那麼可以使用該選項,並使用 --find-links 指定要尋找的位置,本地位置或url

-f, --find-links

指定從什麼 URL 或本地地址尋找依賴包,如果是url則解析指向 sdist (.tar.gz) 或 wheel (.whl) 檔案等歸檔檔案的連結。如果是本地路徑或 file:// URL 的目錄,則在目錄列表中查詢存檔。不支援指向 VCS 專案 URL 的連結。

解除安裝依賴包

使用uninstall命令執行解除安裝

pip unstall packageName

解除安裝時預設會彈出一個提示,等待你輸入 Y 後纔開始解除安裝,可以加入 -y 選項,不提示而是直接解除安裝

pip unstall -y packageName

更新包

實際是使用 install 命令的選項--upgrade實現

pip install --upgrade packageName

檢視包資訊

命令形式pip show packageName

Python 開發者不可缺少的工具:包管理器 pip 全介紹

匯出一個專案的所有依賴

將一個專案中安裝的所有依賴包匯出到一個txt檔案中,以方便分發給其他人安裝。

命令 pip freeze > 檔案.txt, 檔名隨意,但一般使用requirements.txt

從 requirements.txt 安裝所有依賴

正如上方所述,此命令用於安裝freeze匯出的txt檔案,批次安裝所有依賴包

pip install -r requirements.txt

requirements.txt 格式詳細說明見 pip.pypa.io/en/latest/r…

遇到衝突或不相容怎麼辦

Python 開發者不可缺少的工具:包管理器 pip 全介紹

  1. 使用選項禁止檢測衝突

如果確定該版本的包可以正常使用,可以簡單的遮蔽檢測,使用 pip install  -no-warn-conflicts packagename

  1. 重新安裝相容的版本

使用--force-reinstall 選項重新安裝相容的版本 pip install --force-reinstall packagename

遇到版本不存在怎麼辦

如下圖,提示不存在指定的這個版本,然後還列出了其他一堆版本

Python 開發者不可缺少的工具:包管理器 pip 全介紹

這種情況一般發生在使用了國內映象源的時候,此時可以重新安裝以列出的某個版本,同該不存在的版本最接近的那個,使用==版本號

如針對上圖,可執行 pip install selenium==3.14.1,即可成功安裝

pip 通用選項

通用選項代表在任意pip命令中均可使用

-h, --help

檢視幫助文件

--require-virtualenv

只允許 pip 只在虛擬環境中執行;否則退出並顯示錯誤。

--python

使用指定的 Python 直譯器執行 pip

pip --python /path/to/python3.9 install SomePackage

-v, --verbose

安裝包時提供更多輸出,可以疊加使用多次(最多3次即vvv)。

pip -v install SomePackage pip -vvv install SomePackage

-V, --version

顯示版本資訊後退出

-q, --quiet

安裝包時減少輸出資訊,靜默模式,更少輸出

--log 

將安裝時的輸出資訊記錄到某個檔案中,以方便檢視錯誤資訊 如 --log rizhi.txt

--proxy

指定安裝使用的代理,牆內可能有時會用到,如 --proxy http://127.0.0.1:10809

--retries

網路連線失敗時的重試次數,例如 pip --retries 3

0則評論

您的電子郵件等資訊不會被公開,以下所有項目均必填

OK! You can skip this field.