在 PyPI 上分发时我应该针对哪些架构和操作系统?
Which architectures and OSes should I target when distributing on PyPI?
我有一个我一直在研究的 Python 模块。也许不幸的是,它需要一些已编译的 C 代码与它捆绑在一起。我已经在 Linux 和 OSX 中与 Travis 和 Windows 中与 Appveyor 建立了它。
我想知道是否有一套推荐的体系结构、操作系统和 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 provides manylinux Linux images for Docker; these are based on Centos 5, and have CPython 2.6, 2.7, 3.3, 3.4, 3.5 and 3.6. They're used to build wheels with manylinux1
tag. And there is an official manylinux demo project。
至于 ARM - 太多 变体无法支持。例如 Linux 的 ABI 比 x86 多得多。例如,硬浮点与软浮点之间存在区别; 32 位与 64 位...等等。大多数 ARM 开发人员可以很好地自己编译模块以适应他们的奇数架构。
我有一个我一直在研究的 Python 模块。也许不幸的是,它需要一些已编译的 C 代码与它捆绑在一起。我已经在 Linux 和 OSX 中与 Travis 和 Windows 中与 Appveyor 建立了它。
我想知道是否有一套推荐的体系结构、操作系统和 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 provides manylinux Linux images for Docker; these are based on Centos 5, and have CPython 2.6, 2.7, 3.3, 3.4, 3.5 and 3.6. They're used to build wheels with manylinux1
tag. And there is an official manylinux demo project。
至于 ARM - 太多 变体无法支持。例如 Linux 的 ABI 比 x86 多得多。例如,硬浮点与软浮点之间存在区别; 32 位与 64 位...等等。大多数 ARM 开发人员可以很好地自己编译模块以适应他们的奇数架构。