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): '/usr/local/lib64/python3.8/site-packages', '/usr/local/lib/python3.8/site-packages', 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. Victor Le sam. 3 oct. 2020 à 16:46, Mikhail Golubev via Python-Dev <python-dev@python.org> a écrit :
Hi everyone!
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 -- python-dev@python.org To unsubscribe send an email to python-dev-leave@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/5T72JDQG... Code of Conduct: http://python.org/psf/codeofconduct/
-- Night gathers, and now my watch begins. It shall not end until my death.