2017-09-17 38 views
1

我有一个我一直在努力的Python模块。也许不幸的是,它需要一些编译的C代码与它捆绑在一起。我在Linux和OSX上用Travey和Windows与Appveyor一起构建了它。在PyPI上发布时,我应该定位哪些体系结构和操作系统?

我想知道是否有推荐的体系结构,操作系统和Python API版本,我应该瞄准。我的直觉是,我应该尽量全面,为Python 2.6,2.7和3.0 - 3.6中的每一个做x86和x86_64。这可能已经是相当多的发行版了,但是有没有其他的我没有想到?臂?

更广泛地说,是否有一套Travis和Appveyor文件设置适当的矩阵来管理这个构建和分发?

+0

请参阅https://pypi.python.org/pypi/cibuildwheel和https://github.com/matthew-brett/multibuild – phd

回答

2

2.6已经很久以前被EOL了,尽管一些可怜的古代RHEL可能会被卡住。没有人使用3.0和3.1生产; 3.2,3.3只在旧的Unix服务器上,我怀疑看到很多新的软件开发。无论如何,我的目标是2.7 + 3.4+以及那些可以比较轻松地提供的那些;无论如何,任何人都不会介意编译扩展名,因为他们会深陷其中。

至于Travis/Appveyor的东西,这听起来像一个资源请求,这是堆栈溢出的主题。

但是,我可以给Python Packaging Authority提供manylinux Docker的Linux镜像提示;这些都基于Centos 5,并具有CPython 2.6,2.7,3.3,3.4,3.5和3.6。它们用于搭建manylinux1标签。还有一个官方manylinux demo project


至于ARM - 有太多的变种有支持。例如,Linux的ABI比x86的多得多。例如硬浮点和软浮点的区别; 32位和64位......等等。大多数ARM开发人员可以很好地为自己的奇怪架构编译模块。

相关问题