简体   繁体   中英

Which architectures and OSes should I target when distributing on PyPI?

I have a Python module I've been working on. Perhaps unfortunately, it requires some compiled C code to be bundled with it. I've got it building in Linux and OSX with Travis and Windows with Appveyor.

I was wondering if there's a recommended set of architectures, OSes and Python API versions I should target. My gut feeling is that I should try to be comprehensive and do x86 and x86_64 for each of Python 2.6, 2.7 and all of 3.0 - 3.6. This is likely already quite a few distributions, but are there others I'm not thinking of? ARM?

And more broadly, is there a set of Travis and Appveyor files that sets up an appropriate matrix to manage this build and distribution?

2.6 has been EOLed long time ago, though some poor ancient RHEL might be stuck with it. 3.0 and 3.1 was used in production by no one at all; 3.2, 3.3 are only on older Unix servers that I doubt see much new software development. In any case, I'd target 2.7 + 3.4+ and those that could be offered with comparative ease; anyone else wouldn't mind compiling the extension, because they'd be waist-deep in ... anyhow.

As for the Travis / Appveyor thing, this sounds dangerously like a resource request, which are off-topic to Stack Overflow.

However, I can give the hint that 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 too.


As for ARM - there are way too many variants there to support. For example Linux has quite a lot more more ABIs than on x86. For example there is the distinction of hard floating point vs soft floating point; 32 vs 64 bit... etc. Most of the ARM developers can very well compile the modules for their odd architecture themselves.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM