Es ist üblich, dass Leute Schwierigkeiten haben, django einzurichten, um von Apache und mod-wsgi bedient zu werden. Das übliche Symptom ist "Importfehler" ... aus irgendeinem Grund (in der Regel jeweils etwas anders) wird settings.py oder ähnliches nicht importiert (siehe "Verwandte" in der rechten Spalte auf dieser Seite für zahlreiche Beispiele!).Wie Debuggen grundlegende Probleme beim Konfigurieren von Django mit Apache und Mod-Wsgi serviert werden?
Ich habe die anderen Fragen zu diesem Thema durchgelesen, und keine scheint eine Lösung zu haben, die für meine Situation funktioniert (eine war eine grundlegende Misconfig durch das Poster von einem Beantworter identifiziert - ich habe dieses Problem anscheinend nicht , andere gelten für die Verwendung von wsgi aus anderen Modulen usw.).
Wenn Apache/Mod-Wsgi nicht geladen werden kann, wie können Sie es debuggen?
Was können Sie tun, damit etwas eine bessere Nachricht als "Import error" gibt?
Offensichtlich bin ich auf der Suche nach einer Methode, die identifizieren wird, was in meinem Fall falsch ist. Aber ich würde wirklich gerne wissen, wie man sich mit der Fehlersuche befasst: Es scheint unmöglich zu sein, Informationen darüber zu finden, was es zum Scheitern bringt.
In meinem Fall, ich versuche zu tun, was ein straightforwards django zu sein scheint mit mod-wsgi einsetzen - wirklich durch das Buch, das gleiche wie die doc, aber den Fehler:
ImportError: Could not import settings 'cm_central.settings' (Is it on sys.path? Is there an import error in the settings file?): No module named cm_central.settings
Ich kann nicht sehen, warum es dieses Modul nicht finden kann.
/home/cmc/src/cm_central/cm_central/settings.spy existiert, kann von Python ohne Fehler geladen werden und funktioniert in der Tat mit ./manage.py runserver
OK.
Ist es möglich, dass im Zusammenhang mit Apache ein Importfehler auftritt, der nicht auftritt, wenn ich ihn selbst lade? Ich wundere mich wegen der Worte "Gibt es einen Importfehler in der Einstellungsdatei?" ... warum fragt es das? Wenn es einen Importfehler gab, wie würde ich es debuggen?
Ich habe dies in/etc/apache2/sites-enabled/cm-Mittel:
<VirtualHost *:80>
WSGIScriptAlias//home/cmc/src/cm_central/cm_central/wsgi.py
WSGIDaemonProcess cm-central.johalla.de python-path=/home/cmc/src/cm_central:/home/cmc/virtualenvs/cmc/lib/python2.7/site-packages
WSGIProcessGroup cm-central.johalla.de
<Directory /home/cmc/src/cm_central/cm_central>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
</VirtualHost>
Und das in wsgi.py: (es habe ich geändert es nicht von dem, was django generiert)
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "cm_central.settings")
from django.core.wsgi import get_wsgi_application
from dj_static import Cling
application = Cling(get_wsgi_application())
Die vollständige Rückverfolgung ist:
[Sun Nov 09 12:00:01 2014] [error] [client 192.168.122.40] mod_wsgi (pid=10273): Target WSGI script '/home/cmc/src/cm_central/cm_central/wsgi.py' cannot be loaded as Python module.
[Sun Nov 09 12:00:01 2014] [error] [client 192.168.122.40] mod_wsgi (pid=10273): Exception occurred processing WSGI script '/home/cmc/src/cm_central/cm_central/wsgi.py'.
[Sun Nov 09 12:00:01 2014] [error] [client 192.168.122.40] Traceback (most recent call last):
[Sun Nov 09 12:00:01 2014] [error] [client 192.168.122.40] File "/home/cmc/src/cm_central/cm_central/wsgi.py", line 16, in <module>
[Sun Nov 09 12:00:01 2014] [error] [client 192.168.122.40] application = Cling(get_wsgi_application())
[Sun Nov 09 12:00:01 2014] [error] [client 192.168.122.40] File "/home/cmc/virtualenvs/cmc/lib/python2.7/site-packages/django/core/wsgi.py", line 14, in get_wsgi_application
[Sun Nov 09 12:00:01 2014] [error] [client 192.168.122.40] django.setup()
[Sun Nov 09 12:00:01 2014] [error] [client 192.168.122.40] File "/home/cmc/virtualenvs/cmc/lib/python2.7/site-packages/django/__init__.py", line 20, in setup
[Sun Nov 09 12:00:01 2014] [error] [client 192.168.122.40] configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
[Sun Nov 09 12:00:01 2014] [error] [client 192.168.122.40] File "/home/cmc/virtualenvs/cmc/lib/python2.7/site-packages/django/conf/__init__.py", line 46, in __getattr__
[Sun Nov 09 12:00:01 2014] [error] [client 192.168.122.40] self._setup(name)
[Sun Nov 09 12:00:01 2014] [error] [client 192.168.122.40] File "/home/cmc/virtualenvs/cmc/lib/python2.7/site-packages/django/conf/__init__.py", line 42, in _setup
[Sun Nov 09 12:00:01 2014] [error] [client 192.168.122.40] self._wrapped = Settings(settings_module)
[Sun Nov 09 12:00:01 2014] [error] [client 192.168.122.40] File "/home/cmc/virtualenvs/cmc/lib/python2.7/site-packages/django/conf/__init__.py", line 98, in __init__
[Sun Nov 09 12:00:01 2014] [error] [client 192.168.122.40] % (self.SETTINGS_MODULE, e)
[Sun Nov 09 12:00:01 2014] [error] [client 192.168.122.40] ImportError: Could not import settings 'cm_central.settings' (Is it on sys.path? Is there an import error in the settings file?): No module named cm_central.settings
[Sun Nov 09 12:04:06 2014] [notice] Graceful restart requested, doing restart
[Sun Nov 09 12:04:06 2014] [notice] Apache/2.2.22 (Debian) PHP/5.4.4-14+deb7u14 mod_wsgi/3.3 Python/2.7.3 configured -- resuming normal operations
[Sun Nov 09 21:34:15 2014] [error] Not Found:/
Wenn eine Antwort mir helfen könnte zu erkennen, was falsch ist, das wäre toll - aber noch besser ist ein n Antwort auf "wie man das debuggt". Wie findet man heraus warum die settings.py wird nicht geladen?
Danke für alle Kommentare, die darauf hindeuten, was mein spezifisches Problem sein könnte - sie waren auch hilfreich. – GreenAsJade