28.2. ensurepip
—引导 pip
安装程序¶
3.4 新版功能.
ensurepip
包提供了将 pip
安装程序引导到现有Python安装或虚拟环境中的支持。这种引导方法反映了 pip
是一个具有自己的发布周期的独立项目,并且最新的可用稳定版本与CPython参考解释器的维护和功能版本捆绑在一起。
在大多数情况下,Python的最终用户不需要直接调用此模块(因为默认情况下 pip
应该是自举的),但如果在安装Python时(或在创建虚拟环境时)跳过安装 pip
,明确卸载 pip
。
注解
此模块 才不是 访问互联网。引导 pip
所需的所有组件都作为软件包的内部部件包括在内。
参见
- 安装Python模块
用于安装Python软件包的最终用户指南
- PEP 453:在Python安装中显式引导pip
这个模块的原始理由和规范。
28.2.1. 命令行界面¶
使用解释器的 -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
脚本 not。--default-pip
:如果请求安装“default pip”,则除了两个常规脚本之外,还将安装
pip
脚本。
提供这两个脚本选择选项将触发异常。
28.2.2. 模块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
将安装 not。如果设置了 default_pip,则除了两个常规脚本之外,还将安装
pip
。设置 altinstall 和 default_pip 将触发
ValueError
。verbosity 控制从自举操作到
sys.stdout
的输出电平。注解
自举过程对
sys.path
和os.environ
都有副作用。在子进程中调用命令行接口,而不允许避免这些副作用。注解
引导过程可以安装
pip
所需的附加模块,但是其他软件不应该假设默认情况下始终存在这些依赖性(因为在未来的pip
版本中可以移除依赖性)。