ensurepip引导pip安装程序

版本3.4中的新功能


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

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

注意

这个模块does not连接网络。引导程序pip所需的所有组件都包含在包装的内部部分中

参见

安装Python模块
安装Python软件包的最终用户指南
PEP 453 :Python安装中pip的显式引导
这个模块的原始基本原理和规范

命令行界面

使用解释器调用命令行界面-m switch.

最简单的调用是:

python -m ensurepip

这个调用将安装pip如果尚未安装,否则什么都不做。为确保pip的安装版本至少与ensurepip捆绑的版本一样新,请传递--upgrade选项:

python -m ensurepip --upgrade

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

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

  • --altinstall:如果请求备用安装,pipX脚本将not安装.
  • --default-pip:如果要求安装“默认点”,
    pip除了两个常规脚本之外,还将安装脚本.

提供两个脚本选择选项都会触发异常.

模块API

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

ensurepip.version

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

ensurepip.bootstraproot=None, upgrade=False, user=False, altinstall=False, default_pip=False, verbosity=0

引导pip进入当前或指定的环境.

root指定相对于安装的备用根目录。如果rootNone,然后安装使用当前环境的默认安装位置.

upgrade表示是否升级早期版本的pip捆绑版本.

user表示是否使用用户方案而不是安装globally.

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

如果设置了altinstall,那么pipXnot安装.

如果设置了default_pip,那么pip将安装在两个常规脚本之外.

同时设置altinstalldefault_pip会触发ValueError.

verbosity控制输出水平为sys.stdout来自引导操作.

注意

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

注意

引导过程可能会安装pip,但其他软件不应该假设默认存在这些依赖关系(因为依赖关系可能会在pip).