Pip 安装和平台特定的轮子

Pip install and platform specific wheels

pip installselect轮子如何安装?

假设我为不同的平台构建了多个 wheel,上传到 PyPI 后 pip install <package> 会自动安装与平台匹配的正确 wheel 吗?

如果我构建了一个 Linux 特定的轮子 并上传到 PyPI,Windows/Mac 上的某个人试图通过 运行 pip install <package>?

画中画遵循PEP 425 Use recommendations;这规定了二进制分配轮是如何 selected.

具体来说,pip install 只会考虑 兼容 的车轮。将不会下载与不同平台兼容的轮子。

如果没有兼容的轮子,但有源代码分发,则在本地下载并编译该源代码分发。如果没有兼容的轮子,也没有源分发,安装失败。

轮子也可以为 纯 python 项目构建,此时它们不再是平台特定的;这些被称为 通用 轮子。如果项目使用 optional 二进制组件,他们可以选择生成特定于平台的轮子(包括特定于 Python ABI 版本和平台的已编译二进制组件)和通用的wheel 排除了可选的编译组件。如果当前平台没有可用的兼容二进制版本,则安装程序可以 select 通用版本。然而,这并不是那么常见,因为万向轮比源代码分发更受青睐!