ensurepip — 引導 pip 安裝程式

3.4 版本新增。

原始碼: Lib/ensurepip


ensurepip 包提供了對將 pip 安裝程式引導到現有 Python 安裝或虛擬環境中的支援。這種引導方法反映了一個事實,即 pip 是一個具有自己釋出週期的獨立專案,並且最新的可用穩定版本與 CPython 參考直譯器的維護和功能版本捆綁在一起。

在大多數情況下,Python 的終端使用者不需要直接呼叫此模組(因為 pip 應該預設引導),但是如果在安裝 Python(或建立虛擬環境時)跳過了 pip 的安裝,或者在顯式解除安裝 pip 後,可能需要呼叫此模組。

註解

此模組訪問網際網路。引導 pip 所需的所有元件都作為包的內部部分包含在內。

參見

安裝 Python 模組

安裝 Python 包的終端使用者指南

PEP 453:Python 安裝中 pip 的顯式引導

該模組的原始原理和規範。

可用性: 不支援 Android、iOS、WASI。

此模組不支援 移動平臺WebAssembly 平臺

命令列介面

命令列介面使用直譯器的 -m 開關呼叫。

最簡單的呼叫方式是

python -m ensurepip

如果尚未安裝,此呼叫將安裝 pip,否則不執行任何操作。要確保安裝的 pip 版本至少與 ensurepip 中可用的版本一樣新,請傳遞 --upgrade 選項

python -m ensurepip --upgrade

預設情況下,pip 安裝到當前虛擬環境中(如果有一個處於活動狀態),或者安裝到系統站點包中(如果沒有活動虛擬環境)。可以透過兩個附加的命令列選項來控制安裝位置

  • --root dir: 相對於給定的根目錄而不是當前活動虛擬環境的根目錄(如果有)或當前 Python 安裝的預設根目錄安裝 pip

  • --user: 將 pip 安裝到使用者站點包目錄中,而不是當前 Python 安裝的全域性目錄中(此選項在活動虛擬環境內部不允許使用)。

預設情況下,將安裝指令碼 pipXpipX.Y (其中 X.Y 代表用於呼叫 ensurepip 的 Python 版本)。可以透過兩個附加的命令列選項來控制安裝的指令碼

  • --altinstall: 如果請求備用安裝,則將安裝 pipX 指令碼。

  • --default-pip: 如果請求“預設 pip”安裝,則除了兩個常規指令碼外,還將安裝 pip 指令碼。

提供這兩個指令碼選擇選項將觸發異常。

模組 API

ensurepip 公開了兩個用於程式設計的函式

ensurepip.version()

返回一個字串,指定在引導環境時將安裝的 pip 的可用版本。

ensurepip.bootstrap(root=None, upgrade=False, user=False, altinstall=False, default_pip=False, verbosity=0)

pip 引導到當前或指定的環境中。

root 指定一個相對於其安裝的備用根目錄。如果 rootNone,則安裝使用當前環境的預設安裝位置。

upgrade 指示是否將現有較早版本的 pip 升級到可用版本。

user 指示是使用使用者方案而不是全域性安裝。

預設情況下,將安裝指令碼 pipXpipX.Y (其中 X.Y 代表當前的 Python 版本)。

如果設定了 altinstall,則將安裝 pipX

如果設定了 default_pip,則除了兩個常規指令碼外,還將安裝 pip

同時設定 altinstalldefault_pip 將觸發 ValueError

verbosity 控制引導操作中輸出到 sys.stdout 的級別。

使用引數 root 引發 審計事件 ensurepip.bootstrap

註解

引導過程對 sys.pathos.environ 都有副作用。在子程序中呼叫命令列介面可以避免這些副作用。

註解

引導過程可能會安裝 pip 所需的其他模組,但其他軟體不應假定這些依賴項將始終預設存在(因為這些依賴項可能會在未來的 pip 版本中刪除)。