[Distutils] Other ideas from today's packaging meetup at EuroPython

Ronald Oussoren ronaldoussoren at mac.com
Sat Jul 26 10:28:47 CEST 2014


On 26 Jul 2014, at 08:54, Nick Coghlan <ncoghlan at gmail.com> wrote:

> On 26 July 2014 15:27, Wichert Akkerman <wichert at wiggy.net> wrote:
>> I suspect that for Linux you mean “system-provided Python”? Looking at
>> https://www.python.org/downloads/release/python-341/ there is no python.org
>> binary installer for Linux. Even if there was I would expect only a small
>> number of people to use that over the system-provided version, considering
>> Linux distributions generally do a excellent job packaging Python.
> 
> Yes, by "system Python" on Linux, I mean the distro provided one.
> (Technically Apple provide one as well, but binary compatibility there
> is still governed by the python.org installer rather than the Apple
> version)

And the Apple uses the same build flags as the python.org installer, at least
for those flags that affect binary compatibility (such as the width of unicode characters
on older Python versions). AFAIK all other Python distributions on OSX do the same,
which should make extensions portable between them.

Thus, the only thing that affects the compatibility of wheels is the OSX release you
target, assuming that the extensions only use system provided libraries. All bets are
of when you upload wheels with extension that dynamically link with other libraries (such
as a homebrew package for  MySQL).

I guess the same is true for Linux releases: as long as the wheel only dynamically links
with libc, and not with other libraries, linux wheels should also work cross-platform between
old systems with a compatible libc. I have no idea how useful that would be though, I do
use Linux a lot but have a homogeneous set of servers and don’t really have a need to
distribute binaries across different linux distributions (or releases of them). Being in enterprise
IT does have its advantages once in while :-)

Ronald


More information about the Distutils-SIG mailing list