[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