【发布时间】:2011-11-08 15:08:46
【问题描述】:
根据 apache 部署说明,我已经部署了 django 应用程序并与 apache 和 mod_python 完美配合。但由于我稍微改变了项目结构,我无法让它工作。无论我尝试什么,我都会不断收到以下页面:
MOD_PYTHON ERROR
ProcessId: 27841
Interpreter: '127.0.0.1'
ServerName: '127.0.0.1'
DocumentRoot: '/var/www'
URI: '/myapp/'
Location: '/myapp/'
Directory: None
Filename: '/var/www/myapp'
PathInfo: '/'
Phase: 'PythonHandler'
Handler: 'django.core.handlers.modpython'
Traceback (most recent call last):
File "/usr/lib/python2.6/dist-packages/mod_python/importer.py", line 1537, in HandlerDispatch
default=default_handler, arg=req, silent=hlist.silent)
File "/usr/lib/python2.6/dist-packages/mod_python/importer.py", line 1229, in _process_target
result = _execute_target(config, req, object, arg)
File "/usr/lib/python2.6/dist-packages/mod_python/importer.py", line 1128, in _execute_target
result = object(arg)
File "/usr/local/lib/python2.6/dist-packages/Django-1.3.1-py2.6.egg/django/core/handlers/modpython.py", line 212, in handler
return ModPythonHandler()(req)
File "/usr/local/lib/python2.6/dist-packages/Django-1.3.1-py2.6.egg/django/core/handlers/modpython.py", line 174, in __call__
self.load_middleware()
File "/usr/local/lib/python2.6/dist-packages/Django-1.3.1-py2.6.egg/django/core/handlers/base.py", line 39, in load_middleware
for middleware_path in settings.MIDDLEWARE_CLASSES:
File "/usr/local/lib/python2.6/dist-packages/Django-1.3.1-py2.6.egg/django/utils/functional.py", line 276, in __getattr__
self._setup()
File "/usr/local/lib/python2.6/dist-packages/Django-1.3.1-py2.6.egg/django/conf/__init__.py", line 42, in _setup
self._wrapped = Settings(settings_module)
File "/usr/local/lib/python2.6/dist-packages/Django-1.3.1-py2.6.egg/django/conf/__init__.py", line 89, in __init__
raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e))
ImportError: Could not import settings 'settings' (Is it on sys.path?): No module named settings
阅读各种线程,问题可能是以下之一
- apache 配置文件不正确
- sys.path 不正确
- 对任何文件或目录的权限不正确
- 我的 django 站点代码中的错误
有什么办法可以缩小问题的范围吗?例如,有没有办法找出出错时的 sys.path 是什么?有任何日志文件可以帮助我吗?有没有办法区分“找不到文件”和“没有读取文件的权限”?我想更科学地处理解决方案,而不是在偶然发现解决方案之前尝试随机的事情。
此问题与:Mod_python error: ImportError: Could not import settings 不同。我特意寻求帮助缩小可能解决方案的方法,而不是解决方案本身。
【问题讨论】:
-
您使用的是 virtualenv 还是只使用全局 python?你也可以发布你的 .wsgi conf 文件吗?这是导入设置模块的地方,可能是问题所在
-
发布您的项目文件树的表示。
-
我真的很想寻找一般的故障排除技巧,而不是我的问题的解决方案。给男人一条鱼……
-
我使用的是 mod_python,而不是 WSGI。我也没有使用 virtualenv。
标签: django apache debugging setup-deployment