[Wheel-builders] changes to the layout of the manylinux docker image

Nathaniel Smith njs at pobox.com
Thu Mar 17 21:43:55 EDT 2016


Hi all,

Before hitting merge I wanted to get a few more eyes on this pull
request from Nate Coraor to add narrow-unicode builds and other
cleanups to the manylinux docker images:
  https://github.com/pypa/manylinux/pull/35

The main change from the end-user point of view is that the
pre-installed python interpreters have been rearranged.

Before: /opt/ contained one subdirectory for each python version (e.g.
/opt/2.7.11), plus one symlink (e.g. /opt/2.7), plus there's other
stuff in /opt as well.

After: /opt/ contains one symlink named after the python SO-ABI
version (e.g. /opt/2.7m, /opt/2.7.mu), and the actual pythons are
installed in /opt/python/ with names like /opt/python/2.7.11m. (The
"SO-ABI tag" concept comes from PEP 3149, and is the same thing you
see in wheel filenames like cp27mu. The "m" is due to this weird thing
where python upstream has decided to mark all builds that use
"pymalloc" with an "m", even though that's the standard default option
that everyone uses. So every build is marked "m".)

Crucially, /opt/python/*/bin/python now gives a list of all python
interpreters, /opt/python/*/bin/pip gives a list of all pips, etc.

This will probably break existing scripts that expect /opt/2.7 to
exist; OTOH the use of SO-ABI tags does seem pretty reasonable.

Details: https://github.com/pypa/manylinux/pull/35#issuecomment-193817820

Anyway, I'll go ahead and merge in a day or two if no-one objects...

-n

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


More information about the Wheel-builders mailing list