Skip to main content
 首页 » 编程设计

python之mod_wsgi/python sys.path.exend 问题

2025年05月04日11oomusou

我正在编写 mod_wsgi 脚本.. 开头是:

sys.path.extend(map(os.path.abspath, ['/media/server/www/webroot/'])) 

但我注意到,每次我更新脚本时,sys.path 变量都会随着此扩展名的副本不断增长:

['/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'] 

每次我重新启动 apache 时它都会重置。有什么方法可以确保这种情况不会发生吗?我希望模块路径只加载一次..

请您参考如下方法:

无需担心自己检查或使用 abspath。使用“站点”模块的内置 addsitedir功能。它将自动处理这些问题和其他问题(例如 pth 文件):

import site 
site.addsitedir('/media/server/www/webroot/') 

(此函数仅记录在 Python 2.6 中,但它几乎一直存在。)