Ich möchte ein einfaches Python-Web-Skript "Hallo Welt" erhalten, das unter Windows Vista / Apache läuft, aber unterschiedliche Wände trifft. Ich benutze WAMP. Ich habe mod_python
installiert und das Modul zeigt, aber ich bin nicht ganz sicher, was ich in z. http.conf (Dinge wie AddHandler mod_python .py bringen mich entweder zu einer Datei nicht gefunden, oder eine verbotene oder Modul nicht gefunden Fehler beim Zugriff Ссылка ). Ich kann mod_python.publisher
zum Arbeiten bekommen, aber will ich das / brauche das?
Kann jemand helfen?
Danke!
Bleib weg von mod_python
. Eine verbreitete irreführende Idee ist, dass mod_python
wie mod_php
ist, aber für Python. Das ist nicht wahr. Wsgi ist der Standard zum Ausführen von Python-Webanwendungen, definiert durch PEP 333 . Verwenden Sie stattdessen mod_wsgi
.
Oder verwenden Sie alternativ ein Web-Framework mit einem Server. Cherrypy ist besonders gut. Sie können Ihre Anwendung sowohl eigenständig als auch über mod_wsgi
ausführen.
Ein Beispiel für Hello World-Anwendung mit cherrypy:
%Vor% Sehr einfach, nicht wahr? Wenn Sie diese Anwendung direkt auf Python ausführen, wird ein Webserver gestartet. Wenn Sie mod_wsgi
darauf konfigurieren, wird es innerhalb von Apache ausgeführt.
Sie benötigen MOD_PYTHON nicht, um Python-Code im Web auszuführen. Sie können eine einfache CGI-Programmierung verwenden, um Ihren Python-Code mit den Anweisungen im folgenden Link auszuführen: Ссылка
Das sollte Ihnen einige der Konfigurationsoptionen geben, die Sie benötigen, um Python mit CGI zu aktivieren, und eine Google-Suche sollte Ihnen viele weitere Informationen darüber geben, wie Sie darin programmieren und so weiter.
Mod_python ist nützlich, wenn Sie eine etwas "freundlichere" Oberfläche oder mehr Kontrolle über die Anfrage selbst wünschen. Sie können damit Request-Filter und andere Dinge für den Apache-Server erstellen, und mit dem Publisher-Handler erhalten Sie eine einfachere Möglichkeit, Webseiten-Anfragen über Python zu bearbeiten.
Der Publisher-Handler arbeitet mit der Zuordnung von URLs zu Python-Objekten / -Funktionen. Das bedeutet, dass Sie in Ihrer Python-Datei eine Funktion mit dem Namen "foo" definieren können, und jede Anfrage an Ссылка würde diese Funktion automatisch aufrufen. Mehr Infos hier: Ссылка
Was die Apache-Konfiguration angeht, damit die Dinge funktionieren, sollte Ihnen so etwas gut tun
%Vor%Wenn Sie / var / www / html / als Root Ihres Webservers eingerichtet haben und eine Datei mit dem Namen index.py im Verzeichnis python / dort haben, dann jede Anfrage an Ссылка sollte die Funktion foo () in index.py aufrufen oder mit einem 404 fehlschlagen, falls es nicht existiert.
AddHandler mod_python .py
Hast du 'PythonHandler' eingestellt?
Ziehen Sie in diesen Tagen die Verwendung von WSGI anstelle von nativen Mod-Python-Schnittstellen für umfassendere Bereitstellungsoptionen in Betracht. Entweder über die WSGI-Unterstützung von Mod-Python oder vielleicht besser über mod-wsgi. (CGI über zB wsgiref funktioniert auch gut und ist leicht in einer Entwicklungsumgebung einzurichten, in der Sie sich nicht um seine Müll-Performance kümmern.)
Tags und Links python wamp mod-python