[Distutils] 400 Client Error: Binary wheel for an unsupported platform

Nick Coghlan ncoghlan at gmail.com
Tue Jul 7 16:22:29 CEST 2015

On 8 July 2015 at 00:07, Antoine Pitrou <solipsis at pitrou.net> wrote:
> On Tue, 7 Jul 2015 23:53:59 +1000
> Nick Coghlan <ncoghlan at gmail.com> wrote:
>> Unfortunately, the compatibility tagging for Linux wheels is currently
>> so thoroughly inadequate that even in tightly controlled environments
>> having a wheel file escape from its "intended" target platforms can
>> cause hard to debug problems.
> I'm not sure what you're pointing to, could you elaborate a bit?

That was a reference to a case of someone building for Debian (I
think), and then having one of their wheel files end up installed on a
CentOS system and wondering why things weren't working.

> For the record, building against a well-known, old glibc + gcc has
> served the Anaconda platform well.

The key problem is that there's no straightforward way for us to
verify that folks are actually building against a suitably limited set
of platform APIs that all Linux distros in widespread use provide.

And when it inevitably fails (which it will, Python and PyPI are too
popular for it not to), the folks running into the problem are
unlikely to be able to diagnose what has happened, and even once we
figure out what has gone wrong, we'd be left having to explain how to
blacklist wheel files, and the UX would just generally be terrible
(and the burden of dealing with that would fall on the pip and PyPI
maintainers, not on the individual projects publishing insufficiently
conservative Linux wheel files).

That's why the platform override tags are such a nice idea, as it
becomes possible to start iterating on possible solutions to the
problem without affecting the default installation UX in the near


Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia

More information about the Distutils-SIG mailing list