ensurepip
— 引导 pip
安装程序¶
3.4 版中添加。
源代码: Lib/ensurepip
ensurepip
包提供支持,将 pip
安装程序引导到现有的 Python 安装或虚拟环境中。这种引导方法反映了以下事实:pip
是一个独立项目,有自己的发布周期,并且最新可用稳定版本与 CPython 参考解释器的维护和功能版本捆绑在一起。
在大多数情况下,Python 的最终用户无需直接调用此模块(因为 pip
应默认引导),但如果在安装 Python(或创建虚拟环境)时跳过了安装 pip
,或者在显式卸载 pip
后,可能需要它。
注意
此模块不会访问互联网。引导 pip
所需的所有组件都作为包的内部部分包含在内。
另请参阅
- 安装 Python 模块
安装 Python 包的最终用户指南
- PEP 453:在 Python 安装中显式引导 pip
此模块的原始原理和规范。
可用性:不适用于 Emscripten,不适用于 WASI。
此模块在 WebAssembly 平台 wasm32-emscripten
和 wasm32-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
的输出级别。引发 审计事件
ensurepip.bootstrap
,参数为root
。注意
引导过程对
sys.path
和os.environ
都有副作用。相反,在子进程中调用命令行界面可以避免这些副作用。注意
引导过程可能会安装
pip
所需的其他模块,但其他软件不应假设这些依赖项始终默认存在(因为这些依赖项可能会在pip
的未来版本中被删除)。