'wheel' 包最好在安装任何其他 pip 包之前安装吗?

Shall the 'wheel' package preferably be installed prior to installing any other pip package?

安装 pip 包时(例如在 venv 中),如果 wheel 包没有 之前已安装,控制台日志中将出现以下行:

Using legacy 'setup.py install' for <package name>, since package 'wheel' is not installed

其中 <package name> 标识一个 pip 包。

这一行表明使用 setup.py 是一种备用方法,并不是最佳选择。它甚至可能暗示事情可能会以某种方式出错。 Legacy 提示某些内容可能不受支持。

在安装其他 pip 包之前安装 wheel 包是否更好?我不熟悉轮子或 setup.py 的工作原理,欢迎任何建议。

(请注意,在安装任何 pip 包之前,我总是将 pip 升级到最新版本,以确保安全)

您可以阅读更多关于差异的信息 here,但这归结为 [pip] 构建源代码分发的两种不同方式:

  1. pyproject.toml based
    Standards-backed interface, that has explicit declaration and management of build dependencies.
  2. setup.py based
    Legacy interface, that we’re working to migrate users away from. Has no good mechanisms to declare build dependencies.

不同之处在于包维护者如何指定依赖关系。因此,第一个选项确实提供了更稳定的构建体验,因为它可以更好地处理依赖关系。当前状态是 pip 想要迁移到 wheel 包的使用,安装它可能是个好主意。没有严格的需要,但如果你觉得你不想要它,你也可以使用基于 setup.py 的方法安装包 A,并使用基于 pyproject.toml 的方法安装包 B,这对你来说没有问题只要两个包都构建和安装就好了