我正在 PyPi 上发布一个包,它将支持 Python 3.6+,并且希望构建尽可能少的轮子。
我读过Python 的轮子包装系统 https://packaging.python.org/guides/distributing-packages-using-setuptools/并看着NumPy 项目 https://pypi.org/project/numpy/#files举个例子。阅读PEP 513 https://www.python.org/dev/peps/pep-0513/ and PEP 571 https://www.python.org/dev/peps/pep-0571/也很有见地。
这是问题:为什么轮子与 Python 小版本更改不兼容?
例如,从 3.5 升级到 3.6 会带来 f 字符串。但似乎用 Python 3.5(不使用 f 字符串)构建的轮子应该能够在 Python 3.6 环境中正常运行。这里有什么问题?
纯Python以2、3兼容方式编写的代码可以在万能轮中发布。适合所有 Python 版本的一个轮子。例子:https://pypi.org/project/SQLObject/#files https://pypi.org/project/SQLObject/#files
但是,包含用 C 编写的模块的项目必须针对每个平台(处理器架构和 32/64 位)、操作系统和 Python 版本单独发布,因为 C 代码必须以不同的方式进行编译。例子:https://pypi.org/project/Cheetah3/#files https://pypi.org/project/Cheetah3/#files
附言。完全披露:我是作为示例的两个项目的维护者。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)