Pip 不是一个工作流管理工具

pip 的核心目的是管理您的环境中安装的软件包。虽然包管理是大多数 Python 开发工作流的重要组成部分,但它仅仅是其中的一部分。创建和管理环境、配置和运行开发任务、管理 Python 解释器本身以及管理整个“项目”等任务不在 pip 的范围之内。作为整体管理开发工作流是一项复杂的任务,并且对于“正确方法”存在许多观点。

Pip 具有许多功能,使其在开发工作流中非常有用 - 例如,通过 pip install .、可编辑安装和需求文件安装当前项目的能力。但是,没有意图让 pip 管理整个工作流。

例如,pip 提供 pip wheel 命令,可用于为您的项目构建 wheel。但是,没有相应的命令来构建源代码分发。这是因为构建 wheel 是安装软件包(如果该软件包仅以源代码形式提供)的基本步骤,而构建源代码分发在安装时永远不需要。需要构建项目的工具的用户应使用专用的工具,例如 build,它提供构建 wheel 和源代码分发的命令。

ensurepip 的作用

Pip 可通过 ensurepip stdlib 模块在标准 Python 安装中使用。这为用户提供了“开箱即用”的安装程序,可用于访问 PyPI 上提供的所有各种工具和库。特别是,这能够安装许多工作流工具。

这种“引导”机制是在 PEP 453 中提出的(并被接受)。

更多信息

打包用户指南 讨论了 Python 项目开发,并包含了对希望了解有关如何管理其开发工作流的更多信息的用户的工具推荐。