mod_wsgi/python sys.path.exend问题

Ian*_*Ian 1 python apache mod-wsgi

我正在开发一个mod_wsgi脚本..开头是:

sys.path.extend(map(os.path.abspath, ['/media/server/www/webroot/']))
Run Code Online (Sandbox Code Playgroud)

但我注意到,每次更新脚本时,sys.path var都会随着此扩展的重复项而不断增长:

['/usr/lib64/python25.zip'
'/usr/lib64/python2.5'
'/usr/lib64/python2.5/plat-linux2'
'/usr/lib64/python2.5/lib-tk'
'/usr/lib64/python2.5/lib-dynload'
'/usr/lib64/python2.5/site-packages'
'/usr/lib64/python2.5/site-packages/Numeric'
'/usr/lib64/python2.5/site-packages/gtk-2.0'
'/usr/lib64/python2.5/site-packages/scim-0.1'
'/usr/lib/python2.5/site-packages'
'/media/server/www/webroot'
'/media/server/www/webroot'
'/media/server/www/webroot'
'/media/server/www/webroot']
Run Code Online (Sandbox Code Playgroud)

每次重启apache都会重置..是否有任何方法可以确保不会发生这种情况?我希望模块路径只加载一次..

bob*_*nce 7

无需担心自己检查或使用abspath.使用'site'模块的内置additedir函数.它会自动处理这些问题和其他问题(例如pth文件):

import site
site.addsitedir('/media/server/www/webroot/')
Run Code Online (Sandbox Code Playgroud)

(此功能仅在Python 2.6中记录,但它几乎总是存在.)