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