On this page
surepip —引导 pip 安装程序
3.4 版的新Function。
ensurepip软件包提供了将pip
安装程序引导到现有 Python 安装或虚拟环境中的支持。这种引导方法反映了以下事实:pip
是一个具有自己发布周期的独立项目,并且最新的可用稳定版本与 CPython 参考解释器的维护版本和Function发布 Binding 在一起。
在大多数情况下,Python 的finally用户不需要直接调用此模块(默认情况下应引导pip
,但如果在安装 Python(或创建虚拟环境)时或之后跳过了安装pip
,则可能需要明确卸载pip
。
Note
该模块不访问互联网。引导pip
所需的所有组件都包含在软件包的内部。
See also
finally用户指南,用于安装 Python 软件包
PEP 453:在 Python 安装中明确引导 pip
该模块的原始原理和规范。
命令行界面
使用解释器的-m
开关调用命令行界面。
最简单的调用是:
python -m ensurepip
如果尚未安装,此调用将安装pip
,否则不执行任何操作。为确保pip
的安装版本至少与ensurepip
Binding 的版本相同,请传递--upgrade
选项:
python -m ensurepip --upgrade
默认情况下,pip
安装到当前虚拟环境(如果一个处于活动状态)或系统站点程序包(如果没有活动的虚拟环境)中。可以pass两个附加的命令行选项来控制安装位置:
--root <dir>
:相对于给定的根目录而不是当前活动的虚拟环境的根目录(如果有)或当前 Python 安装的默认根目录安装pip
。--user
:将pip
安装到用户站点软件包目录中,而不是在当前 Python 安装中全局安装(在活动虚拟环境中不允许此选项)。
默认情况下,将安装脚本pipX
和pipX.Y
(其中 X.Y 代表用于调用ensurepip
的 Python 版本)。可以pass两个附加的命令行选项来控制安装的脚本:
--altinstall
:如果要求进行备用安装,则将不安装pipX
脚本。--default-pip
:如果要求安装“默认值”,则除了两个常规脚本外,还将安装pip
脚本。
提供两个脚本选择选项将触发异常。
Module API
ensurepip公开了两个用于程序设计的Function:
ensurepip.
version
( )- 返回一个字符串,该字符串指定在引导环境时将安装的 pipBinding 版本。
ensurepip.
bootstrap
(* root = None , upgrade = False , user = False , altinstall = False , default_pip = False , verbosity = 0 *)- 将
pip
引导到当前或指定的环境中。
- 将
root 指定要安装的替代根目录。如果 root *为
None
,则安装使用当前环境的默认安装位置。upgrade *指示是否将
pip
的早期版本的现有安装升级到 Binding 版本。user *指示是否使用用户方案而不是全局安装。
默认情况下,将安装脚本pipX
和pipX.Y
(其中 X.Y 代表当前的 Python 版本)。
如果设置了* altinstall ,则将不*安装pipX
。
如果设置了* default_pip *,则除了两个常规脚本之外,还将安装pip
。
同时设置* altinstall 和 default_pip *将触发ValueError。
- verbosity *控制从引导操作到sys.stdout的输出级别。
用参数root
引发auditing event ensurepip.bootstrap
。
Note
引导过程对sys.path
和os.environ
都有副作用。而是在子进程中调用命令行界面可以避免这些副作用。
Note
引导过程可能会安装pip
所需的其他模块,但其他软件不应假定默认情况下始终存在这些依赖项(因为在将来的pip
版本中可能会删除这些依赖项)。