Django配置错误

时间:2013-01-14 16:47:04

标签: django apache

我正在尝试使用apache webserver在生产模式下在RedHat5.6服务器上部署mayan-edms django Web应用程序。

我已经设置了数据库并使用了虚拟环境来设置env

这是我的httpd.conf

WSGIScriptAlias /mayan /var/www/mayan/mayan/wsgi/dispatch.wsgi
WSGIPythonPath /var/www/mayan/mayan:/var/www/mayan/lib/python2.6/site-packages
<Directory /var/www/mayan/mayan>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>

如果我用这个conf启动apache,我会收到500错误。有谁能告诉我哪里配置错误了?

这是错误

[Mon Jan 14 12:47:02 2013] [error] [client 130.229.146.48] mod_wsgi (pid=21715): Exception occurred processing WSGI script '/var/www/mayan/mayan/wsgi/dispatch.wsgi'.
[Mon Jan 14 12:47:02 2013] [error] [client 130.229.146.48] Traceback (most recent call last):
[Mon Jan 14 12:47:02 2013] [error] [client 130.229.146.48]   File "/var/www/mayan/lib/python2.6/site-packages/django/core/handlers/wsgi.py", line 250, in __call__
[Mon Jan 14 12:47:02 2013] [error] [client 130.229.146.48]     self.load_middleware()
[Mon Jan 14 12:47:02 2013] [error] [client 130.229.146.48]   File   "/var/www/mayan/lib/python2.6/site-packages/django/core/handlers/base.py", line 45, in load_middleware
[Mon Jan 14 12:47:02 2013] [error] [client 130.229.146.48]     mod = import_module(mw_module)
[Mon Jan 14 12:47:02 2013] [error] [client 130.229.146.48]   File "/var/www/mayan/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module
[Mon Jan 14 12:47:02 2013] [error] [client 130.229.146.48]     __import__(name)
[Mon Jan 14 12:47:02 2013] [error] [client 130.229.146.48]   File "/var/www/mayan/mayan/apps/common/__init__.py", line 17
[Mon Jan 14 12:47:02 2013] [error] [client 130.229.146.48]      from .conf.settings import (AUTO_CREATE_ADMIN, AUTO_ADMIN_USERNAME,
[Mon Jan 14 12:47:02 2013] [error] [client 130.229.146.48]           ^
[Mon Jan 14 12:47:02 2013] [error] [client 130.229.146.48]  SyntaxError: invalid syntax

这是我在第17行的init.py

from django.db import transaction,  DatabaseError 
from navigation.api import register_links, register_top_menu 
from .conf.settings import (AUTO_CREATE_ADMIN, AUTO_ADMIN_USERNAME, AUTO_ADMIN_PASSWORD, TEMPORARY_DIRECTORY) 
from .conf import settings as common_settings
from .utils import validate_path 
from .models import AutoAdminSingleton

2 个答案:

答案 0 :(得分:1)

听起来像Python版本问题。 RHEL 5.6似乎是一个相当旧的版本,无论如何,Red Hat以捆绑旧版本的Python而闻名。看看this table,似乎RHEL的那个版本甚至不是Python 2.4。

从另一方面来说,运行当前Django版本的最低Python版本是2.7。虽然如此说,你的应用程序的requirements.txt文件实际上要求Django 1.3.5 - 但你仍然需要至少Python 2.6。您将需要自己编译和安装该版本,或者升级您的Red Hat版本。

答案 1 :(得分:1)

您正在使用python 2.6,安装documentation似乎使用python 2.7