Einstellung Python-Pfad in Windows XAMPP mit WSGI
Ich bin einrichten einer Entwickler-version von einem live-server auf Webfaction, läuft Django-apps in einem virtuellen Apache-server-Umgebung (läuft ohne Fehler) auf meinem lokalen Computer - XP, läuft XAMPP Lite mit Python-2.6 - das kann ich änderungen via Git.
XAMPP läuft OK mit Python, und der server startet perfekt mit WSGI-Modul geladen. Das problem ist, wenn ich meine Python-Wege, Sie setzen die Hälfte in 'nix-format (mit /), und die Hälfte in Windows (mit backslashes).
Hier dem lokalen Rechner Apache-Fehler, die zeigen das beschädigte python Pfade:
[Fri Oct 08 14:52:53 2010] [error] [client 127.0.0.1] mod_wsgi (pid=1436): Exception occurred processing WSGI script 'C:/SERVER/Python26/Lib/site-packages/website-cms/webapps/django/dev.wsgi'.
[Fri Oct 08 14:52:53 2010] [error] [client 127.0.0.1] Traceback (most recent call last):
[Fri Oct 08 14:52:53 2010] [error] [client 127.0.0.1] File "C:/SERVER/Python26/Lib/site-packages/website-cms/webapps/django/lib/python2.5\\django\\core\\handlers\\wsgi.py", line 230, in __call__
[Fri Oct 08 14:52:53 2010] [error] [client 127.0.0.1] self.load_middleware()
[Fri Oct 08 14:52:53 2010] [error] [client 127.0.0.1] File "C:/SERVER/Python26/Lib/site-packages/website-cms/webapps/django/lib/python2.5\\django\\core\\handlers\\base.py", line 42, in load_middleware
[Fri Oct 08 14:52:53 2010] [error] [client 127.0.0.1] raise exceptions.ImproperlyConfigured('Error importing middleware %s: "%s"' % (mw_module, e))
[Fri Oct 08 14:52:53 2010] [error] [client 127.0.0.1] ImproperlyConfigured: Error importing middleware cms.middleware.multilingual: "No module named cms.middleware.multilingual"
Und zu beleidigen .wsgi-Datei Inhalt:
import os, sys
sys.path.append('C:/SERVER/Python26/')
sys.path.append('C:/SERVER/Python26/Lib/site-packages/website-cms/webapps/django')
sys.path.append('C:/SERVER/Python26/Lib/site-packages/website-cms/webapps/django/lib/python2.5')
from django.core.handlers.wsgi import WSGIHandler
#Add the path to Django itself
os.environ['DJANGO_SETTINGS_MODULE'] = 'website.settings'
application = WSGIHandler()
Den Apache httpd.conf ist der default bei XAMPP (und nicht eine virtuelle Instanz), mit den folgenden zusätzlichen zu laden, das wsgi-Modul
LoadModule wsgi_module modules/mod_wsgi-win32-ap22py26-3.3.so
& zeigen Sie auf das wsgi-Datei:
WSGIScriptAlias / C:/SERVER/Python26/Lib/site-packages/website-cms/webapps/django/dev.wsgi
Kenne ich den XAMPP server ist mit Python2.6 (ich bin gezwungen, zu verwenden, TortoiseGIT) und die Produktion ist auf 2,5 (enfordced von der web-host), aber das scheint nicht die Ursache sein - ich würde trotzdem erwarten, dass in der Lage sein, den richtigen Pfad mindestens!
Alle Vorschläge, die auf immer den Python-Pfad, um ball zu spielen willkommen!
InformationsquelleAutor Chris | 2010-10-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mein PC hat Python 2.6, also werde ich die ganze Konfiguration unter der Annahme, dass Python 2.6 ist die Ziel-version.
Lesen Sie die Dokumentation, wenn notwendig, http://code.google.com/p/modwsgi/wiki/InstallationOnWindows
Zum testen habe ich die folgenden Schritte.
Den test.wsgi ist wie folgt.
Dies ist der code
Wenn Sie laufen in Probleme, wie ich es Tat, versuchen Sie, starten Sie den apache von hand mit
C:\xampp\apache_start.bat
; stellen Sie sicher, dass Ihre Python-version ist genau das gleiche wie von mod_wsgi; und vermeiden 64bit python.Vielen Dank für das script - Head ' s-up, wenn Sie mit Python ist3, müssen wickeln Sie die print() auf der Linie 84 und die Letzte Zeile in einer Funktion aufrufen und aus irgendeinem Grund Sie nicht wie die Formatierung auf 85, also kommentierte ich es. Diese wurden analysiert, wie syntax-Fehler, aber danach hat es geklappt.
InformationsquelleAutor prosseek
Hatte ich auch die Meldung "server-Fehler", und ging, um zu sehen, in der Apache-error.log-Datei: es wurde durch einige Leerzeichen oder Zeilenumbruch kommt mit dem Kommentar "die Hauptaufgabe ist es,..."
InformationsquelleAutor ratonsurfeur