Seite 1 von 1

Django: settings.py bei wsgi-Konfiguration nicht gefundn

Verfasst: Samstag 17. Dezember 2011, 21:29
von sparrow
Hallo Forum,

ich bin hier gerade total verwirrt.
Irgendwie... finde ich den Fehler nicht. Also: das Django-Projekt funktioniert problemlos Development-Server. Ich wollte es dann entsprechend auf einen Apache testen und habe da Probleme mit dem Pfad... vielleicht.

Apache-Konfig:

Code: Alles auswählen

<VirtualHost *:80>
LogLevel warn
WSGIScriptAlias / /srv/www/django/src/django.wsgi
Alias /static /srv/www/django/static
</VirtualHost>
Inhalt von /srv/www/django/src/django.wsgi:

Code: Alles auswählen

import os, sys
path = "/srv/www/django/src/ra"
if path not in sys.path:
    sys.path.append(path)
import ra
import ra.settings
print ra.settings
os.environ['DJANGO_SETTINGS_MODULE'] = 'ra.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
Wenn ich diese Datei direkt ausführe (also mit python django.wsgi) Bekomme ich folgende Ausgabe:

Code: Alles auswählen

<module 'ra.settings' from '/srv/www/django/src/ra/settings.pyc'>
Offensichtlich scheint das also grundsätzlich zu funktionieren was das importieren angeht.

Wenn ich aber jetzt im Apache die Webseite ansurfe gibt es Fehler und folgende Ausgabe im Error-Log des Apache:

Code: Alles auswählen

[Sat Dec 17 21:28:19 2011] [error] [client 192.168.1.55] mod_wsgi (pid=2016): Target WSGI script '/srv/www/django/src/django.wsgi' cannot be loaded as Python module.
[Sat Dec 17 21:28:19 2011] [error] [client 192.168.1.55] mod_wsgi (pid=2016): Exception occurred processing WSGI script '/srv/www/django/src/django.wsgi'.
[Sat Dec 17 21:28:19 2011] [error] [client 192.168.1.55] Traceback (most recent call last):
[Sat Dec 17 21:28:19 2011] [error] [client 192.168.1.55]   File "/srv/www/django/src/django.wsgi", line 5, in <module>
[Sat Dec 17 21:28:19 2011] [error] [client 192.168.1.55]     import ra
[Sat Dec 17 21:28:19 2011] [error] [client 192.168.1.55] ImportError: No module named ra
Ich finde hier meinen Denkfehler einfach nicht... :(

Gruß
Sparrow

Re: Django: settings.py bei wsgi-Konfiguration nicht gefundn

Verfasst: Samstag 17. Dezember 2011, 22:09
von BlackJack
@sparrow: Dein Pfad ist zu lang. `ra` scheint ein Package zu sein. Dann muss das Verzeichnis in dem `ra` *liegt* über den Pfad erreichbar sein und nicht selbst im Pfad *enthalten* sein.

Re: Django: settings.py bei wsgi-Konfiguration nicht gefundn

Verfasst: Sonntag 18. Dezember 2011, 00:58
von sparrow
Danke, du hast recht.

Ich muss mir morgen nochmal in Ruhe durch den Kopf gehen lassen woran das liegt.

Gruß
Sparrow

Re: Django: settings.py bei wsgi-Konfiguration nicht gefundn

Verfasst: Sonntag 18. Dezember 2011, 10:38
von /me
sparrow hat geschrieben:Ich muss mir morgen nochmal in Ruhe durch den Kopf gehen lassen woran das liegt.
Typischerweise musst du sowohl das Projektverzeichnis wie auch das darüberliegende Verzeichnis dem Pfad hinzufügen.

Es gibt zum Setup eine schöne Slideshow von Graham Dumpleton, dem Vater von mod_wsgi (und dem verstorbenen mod_python). Schau mal unter http://code.google.com/p/modwsgi/downloads/list und lade dir die "PyCon Conference Slides - Sydney 2010" herunter.