我有一个正在开发的Python模块。也许不幸的是,它需要捆绑一些已编译的C代码。我已经在Travis的Linux和OSX以及Appveyor的Windows中构建了它。
我想知道是否应该推荐一组建议的体系结构,操作系统和Python API版本。我的直觉是,我应该尝试全面,并针对Python 2.6、2.7和3.0-3.6的所有版本分别执行x86和x86_64。这可能已经是很多发行版了,但是还有其他我没有想到的发行版吗?臂?
更广泛地说,是否有一组Travis和Appveyor文件设置了适当的矩阵来管理此构建和分发?
最佳答案
2.6已经很久以前就已经停产,尽管有些可怜的古老RHEL可能会停滞不前。 3.0和3.1完全没有人使用过; 3.2、3.3仅在较旧的Unix服务器上,我怀疑会看到许多新的软件开发。无论如何,我的目标是2.7 + 3.4+,并且可以相对轻松地获得。其他任何人都不会介意编译扩展,因为无论如何他们都会腰部深陷其中。
对于Travis / Appveyor来说,这听起来很危险,就像资源请求一样,而Stack Overflow却不在此列。
但是,我可以暗示Python Packaging Authority为Docker提供manylinux Linux映像。它们基于Centos 5,并具有CPython 2.6、2.7、3.3、3.4、3.5和3.6。它们用于构建带有manylinux1
标签的车轮。并且也有一个官方的manylinux demo project。
至于ARM-那里有太多的变种要支持。例如,Linux具有比x86上更多的ABI。例如,硬浮点与软浮点是有区别的。 32 vs 64 bit ...等。大多数ARM开发人员可以很好地针对自己的奇数体系结构编译模块。