17.1.4 定制站点配置
site模块还负责加载整个站点的定制设置,这个设置在sitecustomize模块中由本地站点所有者定义。sitecustomize可以用来扩展导入路径,以及启用覆盖、性能分析或其他开发工具。
例如,以下代码清单中的sitecustomize.py脚本用基于当前平台的一个目录扩展了导入路径。opt/python中的平台特定路径会增加到导入路径,从而可以导入其中安装的所有包。如果网络中不同主机之间要通过一个共享文件系统来共享包含编译扩展模块的包,那么这就很有用。只需要在各个主机上安装sitecustomize.py脚本,其他包都可以从文件服务器访问。
print('Loading sitecustomize.py')
import site
import platform
import os
import sys
path = os.path.join('/opt',
'python',
sys.version[:3],
platform.platform(),
)
print('Adding new path',path)
site.addsitedir(path)
可以用一个简单的脚本来展示在Python开始运行你自己的代码之前会先导入sitecustomize.py。
import sys
print('Running main program from\n{}'.format(sys.argv[0]))
print('End of path:',sys.path[-1])
由于sitecustomize被用来建立整个系统的配置,所以应当将其安装在默认路径上的某个位置(通常在site-packages目录中)。下面这个例子显式地设置了PYTHONPATH,以确保可以导入这个模块。