Frage

Ich möchte eine einfache Python bekommen „Hallo Welt“ Web-Seite Skript auf Windows Vista / Apache laufen, aber schlagen verschiedene Wände. Ich benutze WAMP. Ich habe mod_python und das Modul zeigt installiert, aber ich bin nicht ganz sicher, was ich in zum Beispiel tun soll http.conf (Dinge wie AddHandler Mod_python Py entweder mir bringen in eine Datei nicht gefunden wird, oder ein verbotenes oder Modul keine Fehler gefunden, wenn http: //localhost/myfolder/index.py ). Ich kann mod_python.publisher bekommen zu arbeiten, aber ich „will“ das / braucht das?

Kann mir jemand helfen?

Danke!

War es hilfreich?

Lösung

Bleiben Sie weg von mod_python. Eine gemeinsame irreführende Idee ist, dass mod_python wie mod_php ist, aber für Python. Das ist nicht wahr. wsgi ist die Standard-Python-Web-Anwendungen ausführen können, durch PEP 333 . So verwenden mod_wsgi statt.

oder alternativ verwenden, um einige Web-Framework, das einen Server hat. CherryPy 's ist besonders gut. Sie werden in der Lage sein, Ihre Anwendung auszuführen sowohl Standalone- als auch durch mod_wsgi.

Ein Beispiel für Hallo Welt Anwendung mit cherrypy:

import cherrypy

class HelloWorld(object):
    def index(self):
        return "Hello World!"
    index.exposed = True

application = HelloWorld()
if __name__ == '__main__':
    cherrypy.engine.start()
    cherrypy.engine.block()

Sehr einfach nicht wahr? Ausführen dieser Anwendung wird direkt auf Python einen Webserver starten. Konfigurieren mod_wsgi es wird es in Apache laufen zu lassen.

Andere Tipps

Sie haben nicht mod_python NEED Python-Code im Web zu laufen, Sie einfache CGI-Programmierung verwenden, könnten Ihren Python-Code ausführen, die Anweisungen in dem folgenden Link: http://www.imladris.com/Scripts/PythonForWindows.html

Das sollten Sie Sie Python benötigen einige der Konfigurationsoptionen geben mit CGI zu ermöglichen, und eine Google-Suche sollten Sie Unmengen von anderen Informationen geben, wie in ihn zu programmieren und so weiter.

Mod_python ist nützlich, wenn Sie ein etwas mehr „freundlich“ Schnittstelle wollen oder mehr Kontrolle über die Anforderung selbst. Sie können es verwenden, um Anfrage Filter und andere Dinge für den Apache-Server und mit dem Publisher-Handler erhalten Sie einen einfacheren Weg, die Homepage-Anfragen über Python zu verarbeiten.

Der Publisher Handler funktioniert durch Mapping-URLs Python-Objekte / Funktionen. Dies bedeutet, dass Sie eine Funktion 'foo' in Ihrer Python-Datei mit dem Namen definieren können, und jede Anfrage an http: // localhost / foo würde automatisch diese Funktion aufrufen. Mehr Infos hier: http: // www. modpython.org/live/current/doc-html/hand-pub-alg-trav.html

Wie für die Apache-Konfigurations Dinge funktionieren, so etwas wie dies sollte Ihnen gute Dienste leisten

<Directory /var/www/html/python/>
  SetHandler mod_python
  PythonHandler mod_python.publisher
  PythonDebug On
</Directory>

Wenn Sie / var / www / html / set up als root des Webservers und hat eine Datei im Python / Verzeichnis mit dem Namen index.py da drin, dann wieder einem Antrag auf http:. // localhost / python / foo die foo () Funktion in index.py nennen sollte, oder mit einem 404 fehlschlagen, wenn es nicht existiert

  

AddHandler Mod_python Py

Haben Sie setzen 'PythonHandler'?

In diesen Tagen betrachten WSGI anstelle von nativen Schnittstellen mod-Python für weitreichendere Einsatzmöglichkeiten. Entweder durch mod-Python WSGI Unterstützung, oder, vielleicht besser, mod-wsgi. (CGI über zB. Wsgiref wird auch gut funktionieren und ist einfach auf einer Entwicklungsumgebung eingerichtet zu bekommen, wo man über seine Müll Leistung egal.)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top