Django服务:wsgi.py无法作为Python模块加载
我在尝试搭建一个Django的管理网站,但一直没有成功。每次请求这个网站时,都会出现500内部服务器错误。错误信息显示wsgi.py这个文件无法作为Python模块加载。下面是内部服务器错误的详细信息和相关文件。
可能有关系的是:最开始我是在用本地的Python版本进行尝试。另一位系统管理员也试过这个本地的Python版本,但它无法正常运行。这个本地版本只对我这个用户有效。我觉得这可能有关系,但我也尝试过使用系统自带的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
我之前也遇到过类似的问题,对我来说,这个方法解决了我的困扰:
chmod a+x wsgi.py
1
我想你遇到的错误是因为你把 WSGIPythonHome
设置成了 Python 的 bin 目录。正如mod_wsgi 的文档所说,这个设置应该指向库文件的目录。你出现错误的原因是,像 os
这样的常用库文件并不在那个 bin 目录里。
不过,这个设置通常只在库文件放在意想不到的位置时才需要用,而看起来你的情况并不是这样。你应该把这个设置完全去掉。