django服务:wsgi.py? '无法加载为Python模块'

时间:2013-01-25 16:13:15

标签: python django

尝试为django管理网站提供服务无济于事。请求时发生500内部服务器错误。该错误声称wsgi.py无法作为Python模块加载。下面是内部服务器错误和相关文件。

可能相关:起初尝试使用本地构建的python。另一个系统管理员尝试了这个python的loca构建,它不会执行。此本地版本仅适用于我的用户。我说这可能是相关的,但也试过系统python。

请求站点时,

500内部服务器错误。这是服务器错误日志:

[error] [client 208.120.168.168] mod_wsgi (pid=20239): Target WSGI script '/home/andrew/public_html/7DigAdmin/wsgi.py' cannot be loaded as Python module.
[error] [client 208.120.168.168] mod_wsgi (pid=20239): Exception occurred processing WSGI script '/home/andrew/public_html/7DigAdmin/wsgi.py'.
[error] Traceback (most recent call last):
[error] File "/home/andrew/public_html/7DigAdmin/wsgi.py", line 5, in ?
[error] import os
[error] ImportError: No module named os

wsgi.py:

import os

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "/home/andrew/SCTN_7DigAdmin/SCTN_7DigAdmin/SCTN_7DigAdmin.settings")

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

wsgi.conf:

LoadModule wsgi_module modules/mod_wsgi.so

WSGIPythonHome /usr/local/bin/python2.7

的httpd.conf:

WSGIScriptAlias /7dadmin /home/andrew/public_html/7DigAdmin/wsgi.py
  <Directory /home/andrew/public_html/7DigAdmin>
     Order allow,deny
     Allow from all
  </Directory>

2 个答案:

答案 0 :(得分:1)

我想错误是因为您将WSGIPythonHome设置为Python bin目录。正如the mod_wsgi documentation所解释的那样,它应该指向库目录。您的错误是因为正常的库文件(例如os模块)不在该bin目录中。

但是,该指令只应在库文件位于意外位置的情况下使用,而您似乎并非如此。你应该完全删除该指令。

答案 1 :(得分:0)

我有一个类似的问题,对我来说,这解决了它:

chmod a+x wsgi.py