FYI Python 3.9 has a new sys.platlibdir to choose between "lib" and "lib64". Fedora and OpenSUSE use /usr/lib64 directory on 64-bit systems rather than /usr/lib.
On 64-bit Fedora, sys.platlibdir is set to lib64:
$ python3.9 -c 'import sys; print(sys.platlibdir)' lib64
Commented (simplified) sys.path:
$ python3.9 -m site sys.path = [ (...) '/usr/lib64/python3.9', # stdlib (pure Python) '/usr/lib64/python3.9/lib-dynload', # stdlib (C extensions) (...) '/usr/lib64/python3.9/site-packages', '/usr/lib/python3.9/site-packages', # RPM packages installed by dnf ] (...)
Fedora also uses sub-directories in /usr/local for packages installed by pip (here are directories of Python 3.8):
For curious people, see https://bugs.python.org/issue1294959 which took 15 years to be fixed! Fedora and OpenSUSE maintained a large downstream stream for at least 10 years :-) I added sys.platlibdir to remove this downstream change.
Le sam. 3 oct. 2020 à 16:46, Mikhail Golubev via Python-Dev firstname.lastname@example.org a écrit :
First of all, sorry for bringing up, perhaps, a trivial matter, but since it's about the sources I guess it's better to ask it here.
I'm investigating a curious problem caused by the fact that in a user's virtualenv, created with the standard "venv" module, "lib64" directory, traditionally symlinked to "lib", gets included in sys.path instead of "lib" itself.
$ python -msite sys.path = [ '/current/working/directory' '/usr/lib64/python36.zip', '/usr/lib64/python3.6', '/usr/lib64/python3.6/lib-dynload', '/path/to/venv/lib64/python3.6/site-packages', ]
The user is on Gentoo, and, though the venv's layout is exactly the same, it's different from the typical result on a Debian-based distribution where it's the original "lib" in sys.path, not its "lib64" link. I'm wondering what's controlling this behavior. Modules/getpath.c doesn't mention architecture-dependent lib directories anywhere, at least at first glance. Could someone please give me a hint about where to look in the sources or, maybe, which build options are affecting this?
Thanks a lot! _______________________________________________ Python-Dev mailing list -- email@example.com To unsubscribe send an email to firstname.lastname@example.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://email@example.com/message/5T72JDQG... Code of Conduct: http://python.org/psf/codeofconduct/