我正在 PyPi 上发布一个支持 Python 3.6+ 的包,并且希望构建尽可能少的轮子。我已经阅读了Python 的轮子包装系统,并以NumPy 项目为例。阅读PEP 513和PEP 571也很有见地。问题来了:为什么轮子前向与 Python 小版本更改不兼容?例如,从 3.5 升级到 3.6 会带来 f-strings。但似乎用 Python 3.5(不使用 f-strings)构建的轮子应该能够在 Python 3.6 环境中正常运行。这里有什么问题?
1 回答
天涯尽头无女友
TA贡献1831条经验 获得超9个赞
以 2 和 3 兼容的方式用纯 Python 编写的代码可以在通用轮中发布。一个适合所有 Python 版本的轮子。示例:https ://pypi.org/project/SQLObject/#files
但是,包含用 C 编写的模块的项目必须针对每个平台(处理器架构和 32/64 位)、操作系统和 Python 版本单独发布,因为 C 代码必须以不同的方式编译。示例:https ://pypi.org/project/Cheetah3/#files
PS。完全披露:我是用作示例的两个项目的维护者。
添加回答
举报
0/150
提交
取消