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 安裝的全域性目錄中(此選項在活動虛擬環境內部不允許使用)。
預設情況下,將安裝指令碼 pipX
和 pipX.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 指定一個相對於其安裝的備用根目錄。如果 root 為
None
,則安裝使用當前環境的預設安裝位置。upgrade 指示是否將現有較早版本的
pip
升級到可用版本。user 指示是使用使用者方案而不是全域性安裝。
預設情況下,將安裝指令碼
pipX
和pipX.Y
(其中 X.Y 代表當前的 Python 版本)。如果設定了 altinstall,則將不安裝
pipX
。如果設定了 default_pip,則除了兩個常規指令碼外,還將安裝
pip
。同時設定 altinstall 和 default_pip 將觸發
ValueError
。verbosity 控制引導操作中輸出到
sys.stdout
的級別。使用引數
root
引發 審計事件ensurepip.bootstrap
。註解
引導過程對
sys.path
和os.environ
都有副作用。在子程序中呼叫命令列介面可以避免這些副作用。註解
引導過程可能會安裝
pip
所需的其他模組,但其他軟體不應假定這些依賴項將始終預設存在(因為這些依賴項可能會在未來的pip
版本中刪除)。