Python unter Windows / Apache einrichten?

8

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!

    
Philipp Lenssen 16.01.2009, 00:02
quelle

3 Antworten

24

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.

    
nosklo 16.01.2009, 11:08
quelle
4

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.

    
Daniel Bruce 16.01.2009 00:38
quelle
0
  

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.)

    
bobince 16.01.2009 01:11
quelle

Tags und Links