27.2. ensurepip — 引导 pip 安装程序 — Python 文档

来自菜鸟教程
Python/docs/2.7/library/ensurepip
跳转至:导航、​搜索

27.2. 确保pip — 引导pip安装人员

2.7.9 版中的新功能。


ensurepip 包支持将 pip 安装程序引导到现有的 Python 安装或虚拟环境中。 这种引导方法反映了一个事实,即 pip 是一个具有自己发布周期的独立项目,最新的可用稳定版本与 CPython 参考解释器的维护和功能版本捆绑在一起。

在大多数情况下,Python 的最终用户不需要直接调用这个模块(因为 pip 应该默认引导),但如果安装 Python 时跳过安装 pip 可能需要它(或在创建虚拟环境时)或在明确卸载 pip 之后。

笔记

本模块上网。 引导 pip 所需的所有组件都包含在包的内部部件中。


也可以看看

安装 Python 模块
安装 Python 包的最终用户指南
PEP 453:在 Python 安装中显式引导 pip
此模块的原始原理和规范。
PEP 477:Backport ensurepip (PEP 453) 到 Python 2.7
将 PEP 453 向后移植到 Python 2.7 的基本原理和规范。


27.2.1. 命令行界面

使用解释器的 -m 开关调用命令行界面。

最简单的调用是:

python -m ensurepip

如果尚未安装,此调用将安装 pip,否则不执行任何操作。 为确保 pip 的安装版本至少与 ensurepip 捆绑的版本一样新,请传递 --upgrade 选项:

python -m ensurepip --upgrade

默认情况下,pip 安装到当前虚拟环境(如果一个是活动的)或系统站点包(如果没有活动的虚拟环境)。 安装位置可以通过两个额外的命令行选项来控制:

  • --root <dir>:相对于给定的根目录安装 pip,而不是当前活动虚拟环境的根目录(如果有)或当前 Python 安装的默认根目录。
  • --user:将 pip 安装到用户站点包目录中,而不是当前 Python 安装的全局目录中(在活动虚拟环境中不允许使用此选项)。

默认情况下,将安装脚本 pippipXpipX.Y(其中 XY 代表用于调用 ensurepip 的 Python 版本)。 安装的脚本可以通过两个额外的命令行选项进行控制:

  • --altinstall:如果请求替代安装,pippipX 脚本将 不安装
  • --no-default-pip:如果请求非默认安装,pip 脚本将 不安装

2.7.15 版本变更: 如果命令失败,退出状态为非零。


27.2.2. 模块API

ensurepip 公开了两个用于编程使用的函数:

ensurepip.version()
返回一个字符串,指定在引导环境时将安装的 pip 的捆绑版本。
ensurepip.bootstrap(root=None, upgrade=False, user=False, altinstall=False, default_pip=True, verbosity=0)

pip 引导到当前或指定的环境中。

root 指定要相对于安装的替代根目录。 如果 rootNone,则安装使用当前环境的默认安装位置。

upgrade 表示是否将现有安装的 pip 的早期版本升级到捆绑版本。

user 表示是否使用用户方案而不是全局安装。

默认情况下,将安装脚本 pippipXpipX.Y(其中 XY 代表 Python 的当前版本)。

如果设置了 altinstall,那么 pippipX 将不会被安装 '

如果 default_pip 设置为 False,那么 pip 将不会被安装 '

同时设置 altinstalldefault_pip 将触发 ValueError

verbosity 控制从引导操作输出到 sys.stdout 的级别。

笔记

引导过程对 sys.pathos.environ 都有副作用。 相反,在子进程中调用命令行界面可以避免这些副作用。

笔记

引导过程可能会安装 pip 所需的其他模块,但其他软件不应假定这些依赖项在默认情况下始终存在(因为这些依赖项可能会在 pip 的未来版本中删除)。