[Distutils] PEP 513: A Platform Tag for Portable Linux Built Distributions Version

Nathaniel Smith njs at pobox.com
Tue Jan 26 17:36:01 EST 2016

On Mon, Jan 25, 2016 at 8:37 PM, Robert T. McGibbon <rmcgibbo at gmail.com> wrote:
> I agree that this is an important detail. I generally use machines that have
> many different Python interpreters installed (some distro-provided and
> others in my home directory), and can easily imagine wanting them to have
> different behavior w.r.t. manylinux1 wheels.
> Perhaps the option could be put in site.py, or somewhere in
> lib/pythonX.Y/configX.Y/? I'm not sure what the appropriate solution here
> is.

On further thought, the site.py solution has sorta grown on me...
basically the PEP text would look something like:

"If there exists an attribute sys._manylinux1_compatible, then
bool(sys._manylinux1_compatible) determines whether the given
interpreter should be considered manylinux1-compatible. By default,
upstream Python builds will not provide any variable with this name,
but a distributor may create it if they choose (e.g. from

It's not exactly pretty, but it's kinda elegant: it neatly solves the
problem of binding the configuration to an individual python
environment, allows it to be set from site.py or sitecustomize.py or
from a user's PYTHONSTARTUP or usercustomize.py or even by a local
patch to the interpreter, it's naturally inherited across
virtualenv/venvs, can be checked in very little code, and can be
specified in very few words.

I guess we can bikeshed about whether 'sys' is the appropriate place :-)


Nathaniel J. Smith -- https://vorpus.org

More information about the Distutils-SIG mailing list