17.1.2 用户目录
除了全局的site-packages路径,site还负责向导入路径增加用户特定的位置。用户特定的路径都基于USER_BASE目录,通常位于文件系统中当前用户拥有(而且可写)的一部分。USER_BASE目录中有一个site-packages目录,其中包含的路径可以用USER_SITE访问。
import site
print('Base:',site.USER_BASE)
print('Site:',site.USER_SITE)
USER_SITE路径名是使用同样的平台特定后缀(如前所述)来创建的。
用户基目录可以通过PYTHONUSERBASE环境变量设置,而且有平台特定的默认值(对于Windows是~ /Python$version/site-packages,对于非Windows平台为~/.local)。
在一些可能出现安全问题的情况下会禁用用户目录(例如,如果运行进程的用户或组ID与原先启动这个进程的实际用户不同)。应用可以通过查看ENABLE_USER_SITE来检查这个设置。
import site
status = {
None: 'Disabled for security',
True: 'Enabled',
False: 'Disabled by command=line option',
}
print('Flag :',site.ENABLE_USER_SITE)
print('Meaning:',status[site.ENABLE_USER_SITE])
还可以在命令行上用-s显示禁用用户目录。