2012-07-02 11 views
5

Ich bin langsam von PHP nach Python migrieren. Insbesondere ist, wie ich in webdev/Webdesign arbeiten würde Ich mag eine einfache HTML-Seite Python anzuzeigen verwenden, mit dem folgenden Code:Verwenden Sie Python auf MAMP

#!/usr/bin/python 

print('<html><head></head><body>This is a test</body></html>') 

Auch hier ist der Punkt, nur um zu sehen, ob es funktioniert. Senden der Datei online auf meinem Host als index.cgi Ich hatte kein Problem den Inhalt der Datei anzuzeigen. Die Probleme beginnen, wenn ich versuche, das WSGI-Modul auf MAMP zu installieren, oder einfach Python damit arbeiten zu lassen. Wenn es zu localhost/index.cgi geht, wird der Inhalt der Datei anstelle seiner Ergebnisse angezeigt. Ich habe ein halbes Dutzend Tutorials verfolgt und keines scheint zu funktionieren, ich stoße immer auf ein Problem. Es scheint von der Tatsache zu kommen, dass Apache, der mit MAMP geliefert wird, nicht in einer Weise gebaut wird, die Sie Module hinzufügen können (wie wsgi).

Dies ist kommt auch aus der Tatsache, dass ich keine letzten Artikel auf, wie Python installiert auf MAMP, sie alle entweder Datum von 2008 oder 2009, mit alten Versionen von MAMP, Python und Macports finden.

Kann mir jemand auf die aktuelle Prozedur verweisen, damit das funktioniert?


EDIT: Ok nach this article finden konnte ich entnehmen, dass MAMP standardmäßig nicht CGI-Skripten außerhalb des cgi-bin/Ordner in MAMP/verarbeiten. Also habe ich die Apache-Conf-Datei wie beschrieben modifiziert, jetzt liest sie anscheinend die .cgi-Datei, löst aber einen Fehler 500 mit dem oben gezeigten Inhalt aus. Ist der Code der Täter oder ist es MAMP?

+0

es ist ein 404 für den Link du fandest. –

Antwort

2

Verstanden zu arbeiten, waren das Problem der fehlenden CGI Interpretation von MAMP außerhalb des cgi-bin/Ordner (Original-Beitrag sehen) und die fehlenden Header:

print 'Content-type: text/html\n\n'

0

Dies ist nur Standard CGI, nichts besonderes hier, keine Notwendigkeit für WSGI. Sie müssen Python installieren. Sie können es installieren, wo immer Sie möchten, solange Ihr Skript es finden kann. Sie sehen die Zeile:

#! /usr/bin/python 

das ist, wo das Skript versucht, Python zu finden, so ändern Sie es in Ihrer Python-Installation oder Ihre Python-Installation zu reparieren, dort zu sein.

+0

Nun, meine Python-Installation * ist * da, wenn ich 'which python' im Terminal eintippe sagt es mir'/usr/bin/python' aber trotzdem wenn ich die .cgi Datei besuche, sei es in localhost/oder file:// Ich bekomme nur den Inhalt der Datei. Das ist seltsam. –

+0

@MaximeFabre Suchen Sie nach Python in Ihrem MAMP-Installationsverzeichnis. (Meine ist '/ Anwendungen/MAMP/bin/apache2/bin/python, das ist ein Alias ​​für'/Anwendungen/MAMP/Library/bin/python2.7') –