Mod_wsgi语法错误:“无效的命令导入”

时间:2011-07-14 10:34:56

标签: python mod-wsgi django-wsgi

我正在尝试设置mod_wsgi来提供我的django媒体文件(我想在开发环境中使用它)

我按照this guide正确设置了mod_wsgi。

这是我的wsgi文件(“django.wsgi”)

import os, sys

path = '/home/smau/Workspace/Maynard/tothego_frontend/'
if path not in sys.path:
    sys.path.append(path)

#Calculate the path based on the location of the WSGI script.
apache_configuration= os.path.dirname(__file__)
project = os.path.dirname(apache_configuration)
workspace = os.path.dirname(project)
sys.path.append(workspace)

os.environ['DJANGO_SETTINGS_MODULE'] = 'tothego_frontend.settings' 

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

这是我的conf文件(“django.conf”)

Alias /site_media/ "/home/smau/Workspace/Maynard/tothego_frontend/site_media/"
<Directory "/home/smau/Workspace/Maynard/tothego_frontend/site_media">
Order allow,deny
Options Indexes
Allow from all
IndexOptions FancyIndexing
</Directory>

WSGIScriptAlias / "/home/smau/Workspace/Maynard/tothego_frontend/srv/mod_wsgi/django.wsgi"

<Directory "/home/smau/Workspace/Maynard/tothego_frontend/srv/mod_wsgi">
Allow from all
</Directory>

这是我的“httpd.conf”

Include /home/smau/Workspace/Maynard/tothego_frontend/srv/mod_wsgi/django.wsgi

一切似乎都像指南一样,但是,当我尝试启动/重启apache时,我收到此错误

root@archimedes:/etc/apache2# /etc/init.d/apache2 restart
Syntax error on line 1 of /home/smau/Workspace/Maynard/tothego_frontend/srv/mod_wsgi/django.wsgi:
Invalid command 'import', perhaps misspelled or defined by a module not included in the server configuration
Action 'configtest' failed.
The Apache error log may have more information.
   ...fail!

这是/var/log/apache2.log

[Thu Jul 14 11:39:31 2011] [notice] Apache/2.2.17 (Ubuntu) PHP/5.3.5-1ubuntu7.2 
with Suhosin-Patch mod_wsgi/3.3 Python/2.7.1+ configured -- resuming normal operations

[Thu Jul 14 11:44:28 2011] [notice] caught SIGTERM, shutting down
PHP Warning:  PHP Startup: Unable to load dynamic library 
'/usr/lib/php5/20090626/gd.so'- /usr/lib/php5/20090626/gd.so: cannot open shared object file: 
No such file or directory in Unknown on line 0

日志似乎(对我来说......)无论如何都与我的问题有关。为什么我一直收到“导入”错误?我给你提供信息还是你需要别的东西?我想我的pythonpath是正确的:

1 个答案:

答案 0 :(得分:2)

您应该包含配置文件(django.conf),而不是WSGI脚本(django.wsgi)。