ensurepip — 引导 pip 安装程序 — Python 文档
ensurepip — 引导 pip 安装程序
3.4 版中的新功能。
ensurepip 包支持将 pip
安装程序引导到现有的 Python 安装或虚拟环境中。 这种引导方法反映了一个事实,即 pip
是一个具有自己发布周期的独立项目,最新的可用稳定版本与 CPython 参考解释器的维护和功能版本捆绑在一起。
在大多数情况下,Python 的最终用户不需要直接调用这个模块(因为 pip
应该默认引导),但如果安装 Python 时跳过安装 pip
可能需要它(或在创建虚拟环境时)或在明确卸载 pip
之后。
笔记
本模块不上网。 引导 pip
所需的所有组件都包含在包的内部部件中。
命令行界面
使用解释器的 -m
开关调用命令行界面。
最简单的调用是:
python -m ensurepip
如果尚未安装,此调用将安装 pip
,否则不执行任何操作。 为确保 pip
的安装版本至少与 ensurepip
捆绑的版本一样新,请传递 --upgrade
选项:
python -m ensurepip --upgrade
默认情况下,pip
安装到当前虚拟环境(如果一个是活动的)或系统站点包(如果没有活动的虚拟环境)。 安装位置可以通过两个额外的命令行选项来控制:
--root <dir>
:相对于给定的根目录安装pip
,而不是当前活动虚拟环境的根目录(如果有)或当前 Python 安装的默认根目录。--user
:将pip
安装到用户站点包目录中,而不是当前 Python 安装的全局目录中(在活动虚拟环境中不允许使用此选项)。
默认情况下,将安装脚本 pipX
和 pipX.Y
(其中 XY 代表用于调用 ensurepip
的 Python 版本)。 安装的脚本可以通过两个额外的命令行选项进行控制:
--altinstall
:如果要求替代安装,pipX
脚本将 不安装 。--default-pip
:如果要求安装“默认 pip”,除了两个常规脚本外,还会安装pip
脚本。
提供两个脚本选择选项将触发异常。
模块API
ensurepip 公开了两个用于编程使用的函数:
- ensurepip.version()
- 返回一个字符串,指定在引导环境时将安装的 pip 的捆绑版本。
- ensurepip.bootstrap(root=None, upgrade=False, user=False, altinstall=False, default_pip=False, verbosity=0)
将
pip
引导到当前或指定的环境中。root 指定要相对于安装的替代根目录。 如果 root 是
None
,则安装使用当前环境的默认安装位置。upgrade 表示是否将现有安装的
pip
的早期版本升级到捆绑版本。user 表示是否使用用户方案而不是全局安装。
默认情况下,将安装脚本
pipX
和pipX.Y
(其中 XY 代表 Python 的当前版本)。如果设置了 altinstall,那么
pipX
将不会被安装 。如果设置了 default_pip,那么除了两个常规脚本之外,还会安装
pip
。同时设置 altinstall 和 default_pip 将触发 ValueError。
verbosity 控制从引导操作输出到 sys.stdout 的级别。
笔记
引导过程对
sys.path
和os.environ
都有副作用。 相反,在子进程中调用命令行界面可以避免这些副作用。笔记
引导过程可能会安装
pip
所需的其他模块,但其他软件不应假定这些依赖项在默认情况下始终存在(因为这些依赖项可能会在pip
的未来版本中删除)。