The value of that variable is determined entirely in Python code:
def check_enableusersite():
"""Check if user site directory is safe for inclusion
The function tests for the command line flag (including environment var),
process uid/gid equal to effective uid/gid.
None: Disabled for security reasons
False: Disabled by user (command line option)
True: Safe and enabled
"""
if sys.flags.no_user_site:
return False
if hasattr(os, "getuid") and hasattr(os, "geteuid"):
# check process uid == effective uid
if os.geteuid() != os.getuid():
return None
if hasattr(os, "getgid") and hasattr(os, "getegid"):
# check process gid == effective gid
if os.getegid() != os.getgid():
return None
return True
The first test is simply for the -s switch or the PYTHONNOUSERSITE environment variable having been used.
What remains is the tests that return None if the effective userid or groupid differ from the process userid or groupid.
An administrator can set the effective user id or group id bits, at which point the effective user of the executable is changed to the owner or group of the executable rather than the user executing Python, at which point the above function will return None.
Other than that, a sitecustomize.py package could set the value to None again, and explicitly remove user directories from the path again. If so, the usercustomize.py import step is skipped.