在线文档教程

ensurepip

ensurepip - 引导pip安装程序

2.7.9版本的新功能。

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

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

注意

该模块不能 访问互联网。引导所需的所有组件pip都包含在软件包的内部部分中。

扩展内容

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

1.命令行界面

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

最简单的调用是:

python -m ensurepip

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

python -m ensurepip --upgrade

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

  • --root <dir>:pip相对于给定的根目录而不是当前活动的虚拟环境(如果有的话)的根目录或当前Python安装的默认根目录进行安装。

  • --user:安装pip到用户站点软件包目录中,而不是全局用于当前Python安装(在活动虚拟环境中不允许使用此选项)。

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

  • --altinstall:如果请求的备用安装,pippipX脚本将被安装。

  • --no-default-pip:如果请求的是非默认安装,pip不会安装该脚本。

2.模块API

ensurepip 公开了两种编程使用功能:

ensurepip.version()

返回一个字符串,指定在引导环境时将要安装的pip的捆绑版本。

ensurepip.bootstrap(root=None, upgrade=False, user=False, altinstall=False, default_pip=True, verbosity=0)

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

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

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

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

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

如果altinstall 被设置,然后pippipX被安装。

如果default_pip设置为False,那么pip不会安装。

设置altinstalldefault_pip都会触发ValueError

详细程度 控制sys.stdout自举操作的输出级别。

注意

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

注意

自举过程可以安装其他模块所需的额外模块pip,但是其他软件不应该假设这些依赖项默认存在(因为可能会在将来的版本中删除依赖项pip)。