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
:如果请求的备用安装,pip
和pipX
脚本将不
被安装。
--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
指定要安装的替代根目录。如果root
是None
,则安装使用当前环境的默认安装位置。
升级
指示是否将早期版本的现有安装升级
pip
到捆绑版本。
用户
表示是否使用用户方案而不是全局安装。
默认情况下,脚本pip
,pipX
和pipX.Y
将被安装(其中XY代表当前版本的Python)。
如果altinstall 被
设置,然后pip
和pipX
将不
被安装。
如果default_pip
设置为False
,那么pip
将不会
安装。
设置altinstall
和default_pip
都会触发ValueError
。
详细程度
控制sys.stdout
自举操作的输出级别。
注意
引导过程对sys.path和os.environ都有副作用。 在子进程中调用命令行界面可以避免这些副作用。
注意
自举过程可以安装其他模块所需的额外模块pip
,但是其他软件不应该假设这些依赖项默认存在(因为可能会在将来的版本中删除依赖项pip
)。