.py-Datei mit code im browser anstatt zu laufen
Ich versuche die ersten Schritte mit Python, kann aber nicht meine server-setup richtig für localhost(mit Ampps). Python läuft Prima durch LEERLAUF und Befehl Linie, allerdings, wenn ich öffnen Sie die Datei im browser wird der code angezeigt und nicht ausgeführt.
Ich folgte diesem http://www.imladris.com/Scripts/PythonForWindows.html tutorial für erste cgi einrichten, aber es funktioniert nicht.
Hier ist der code für meine "Hallo Welt" - Programm, wenn das macht keinen Unterschied.
#!/usr/bin/env python
# -*#!/usr/bin/python
print "Content-type:text/html\r\n\r\n"
print '<html>'
print '<head>'
print '<title>Hello Word - First CGI Program</title>'
print '</head>'
print '<body>'
print '<h2>Hello Word! This is my first CGI program</h2>'
print '</body>'
print '</html>'
Irgendwelche Vorschläge?
Haben Sie die Datei ausführbar? Haben cgi-Skripte, aktiviert im server?
Nachdem Sie diese arbeiten - check-Python-syntax für mehrzeilige strings mit triple-Zitate wie
Ich glaube ich aktiviert das cgi-Skripts auf dem server, aber ich bin nicht sicher, machen Sie die Datei ausführbar. Wenn ich die Datei (das icon für die Datei selbst, nicht der code) hat es die python-logo auf Sie, so bin ich nicht sicher, ob das bedeutet, dass es ausführbare Datei.
Wenn meine Antwort für Sie hilfreich war, und ob man es glaubt richtig zu sein, bitte beachten Sie die Kennzeichnung als die akzeptierte Antwort für diese Frage. Danke.
Nachdem Sie diese arbeiten - check-Python-syntax für mehrzeilige strings mit triple-Zitate wie
""" something """
Ich glaube ich aktiviert das cgi-Skripts auf dem server, aber ich bin nicht sicher, machen Sie die Datei ausführbar. Wenn ich die Datei (das icon für die Datei selbst, nicht der code) hat es die python-logo auf Sie, so bin ich nicht sicher, ob das bedeutet, dass es ausführbare Datei.
Wenn meine Antwort für Sie hilfreich war, und ob man es glaubt richtig zu sein, bitte beachten Sie die Kennzeichnung als die akzeptierte Antwort für diese Frage. Danke.
InformationsquelleAutor user1104854 | 2012-04-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihrem web-server ist die Behandlung Ihrer python-code als statische Datei, anstatt eine ausführbare Datei. Das Ziel ist hier, Sie möchten, dass der Apache das ausführen von python und senden Sie den stdout zurück an den browser des Benutzers.
Ich bin nicht vertraut mit Ampps, aber die grundlegende Apache-flow zu bekommen-setup ist so etwas wie dieses.
AddHandler .py
#!\Python26\python
ScriptInterpreterSource registry
zu Ihrer httpd.conf und stellen Sie sicher, dass windows geöffnet werden *.py-Dateien mit Python.exe standardmäßig. Dies kann getestet werden, indem ein Doppelklick auf ein script. Wenn es nicht ausgeführt wird, klicken mit der rechten Maustaste, wählen Sie öffnen mit, dann den anderen, und navigieren Sie dann zu Ihrem python.exe. Stellen Sie sicher, dass das Kontrollkästchen "immer mit diesem Programm öffnen, Dateien dieses Typs" box. Es gibt einen Microsoft Knowledge Base-Artikel zu diesem hier.Schließlich mod_wsgi oder FastCGI ist die bevorzugte Methode für das abrufen von Apache zur Ausführung von python, mit der vorherigen holding Vorzug zu niedrigeren traffic-sites (10 ' s von tausenden von Anfragen pro Tag). Ich würde auch raten, Suche in web-frameworks wie web.py (sehr leicht) oder django (schwerer das Gewicht, sondern spart Ihnen eine Menge Zeit, wenn Sie das sammeln von Benutzereingaben oder die Verknüpfung mit einer Datenbank).
Ich wusste gar nicht, dass "Ampps" wurde der windows Geschmack des Apache-ich bin meist ein Linux-Kerl, und ich benutze meistens Lighttpd. Siehe editierte Antwort, bitte.
Auch, Sie wären besser dran mit mod-wsgi als cgi. Ich werde Bearbeiten Sie die Antwort wieder zu reflektieren, und links hinzufügen.
Ich habe eine Hölle einer Zeit haben, diese zu führen. Ich bin ziemlich erfahren mit PHP und apache über eine million mal. Es muss eine einfachere Methode gibt. Alles, was ich gelesen habe, erfordert die Kompilierung von Quellcode und alle Arten von Müll. Wenn python ist dies schwierig, kein Wunder, warum die Menschen nicht mehr die Mühe zu lernen, wie man programmiert. PHP ist ein Kinderspiel, um gehend zu erhalten, nicht sicher über Python. Ich habe schon auf Sie für 2 Stunden ab und erreicht nichts.
Ohne sich in die win/lin Debatte, Apache wurde von Grund auf entwickelt für unix-bezogene Systeme, und bekommen es für Windows auch eine Art Verzerrung. Ich hasse machen diesen Vorschlag, aber wenn Windows ein muss, könnten Sie versuchen stattdessen, die mehr win-freundliche route von IIS verwenden - siehe diesen KB-Artikel support.microsoft.com/kb/276494
InformationsquelleAutor Ben Burns