Python 次要版本之间的 Wheel 不兼容

Wheel Incompatibility between Python Minor Versions

我正在 PyPi 上发布一个包,它将支持 Python 3.6+,并希望构建尽可能少的轮子。

我读过 Python's packaging system for wheels and looked at the NumPy project for an example. Reading PEP 513 and PEP 571 也很有见地。

问题是:为什么轮子向前与 Python 次要版本更改不兼容?

例如,从 3.5 升级到 3.6 会带来 f 弦。但似乎用 Python 3.5(不使用 f-strings)构建的轮子应该能够 运行 在 Python 3.6 环境中很好。这里有什么问题?

纯Python写的2-3兼容的代码可以发布在万向轮中。一个适合所有 Python 版本的轮子。示例:https://pypi.org/project/SQLObject/#files

但是包含用 C 编写的模块的项目必须针对每个平台(处理器架构和 32/64 位)、OS 和 Python 版本单独发布,因为 C 代码必须是编译不同。示例:https://pypi.org/project/Cheetah3/#files

PS。全面披露:我是这两个项目的维护者。