[3.9] bpo-41376: Fix the documentation of site.getusersitepackages() (GH-21602) by miss-islington · Pull Request #22591 · python/cpython (original) (raw)

site.getusersitepackages() returns the location of the user-specific site-packages directory
even when the user-specific site-packages is disabled.

$ python -s -m site
sys.path = [
    '/home/user/conda/lib/python37.zip',
    '/home/user/conda/lib/python3.7',
    '/home/user/conda/lib/python3.7/lib-dynload',
    '/home/user/conda/lib/python3.7/site-packages',
]
USER_BASE: '/home/user/.local' (exists)
USER_SITE: '/home/user/.local/lib/python3.7/site-packages' (doesn't exist)
ENABLE_USER_SITE: False

It was not practical to prevent the function from returning None if user-specific site-packages are disabled, since there are other uses of the function which are relying on this behaviour (e.g. python -m site).
(cherry picked from commit 35f041d)

Co-authored-by: Phil Elson pelson.pub@gmail.com

https://bugs.python.org/issue41376