Python in XAMPP einbinden

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

Re: Python in XAMPP einbinden

Postby Demetry » 13. November 2009 22:24

Dann würde ich es lieber doch so machen, ohne diese Shebang-Zeile. Nur mit der Anpassung in der http.conf. Denn die Python Dateien möchte ich weitestgehend so unabhängig wie möglich haben.
Best Regards,
Demetry
Demetry
 
Posts: 79
Joined: 19. July 2005 22:39
Location: Germany
Operating System: Windows 7 / 8.1

Re: Python in XAMPP einbinden

Postby Wiedmann » 13. November 2009 22:28

Dann würde ich es lieber doch so machen, ohne diese Shebang-Zeile.

OKI, dann würd ich erstmal alles Löschen, was diese Reg-Datei in deine Registry eingetragen hat.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: Python in XAMPP einbinden

Postby Demetry » 13. November 2009 22:42

Wiedmann wrote:
Dann würde ich es lieber doch so machen, ohne diese Shebang-Zeile.

OKI, dann würd ich erstmal alles Löschen, was diese Reg-Datei in deine Registry eingetragen hat.


Ist geschehen! :-)
Best Regards,
Demetry
Demetry
 
Posts: 79
Joined: 19. July 2005 22:39
Location: Germany
Operating System: Windows 7 / 8.1

Re: Python in XAMPP einbinden

Postby Nobbie » 13. November 2009 22:46

Demetry wrote:Denn die Python Dateien möchte ich weitestgehend so unabhängig wie möglich haben.


Wählst mit der Registry aber den unportabelsten Weg - wie soll das denn unter Linux funktionieren?

Naja, mache es wie Du willst, ich würde es so nicht machen.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: Python in XAMPP einbinden

Postby Demetry » 13. November 2009 22:51

Nobbie wrote:
Demetry wrote:Denn die Python Dateien möchte ich weitestgehend so unabhängig wie möglich haben.


Wählst mit der Registry aber den unportabelsten Weg - wie soll das denn unter Linux funktionieren?

Naja, mache es wie Du willst, ich würde es so nicht machen.


Hm, das verstehe ich jetzt nicht. Oder meinst du, ich bräuchte dann einfach nurdie Shebang-Zeile ändern um es auf beiden System zum Laufen zu bekommen?
Was ist denn am Besten?
Best Regards,
Demetry
Demetry
 
Posts: 79
Joined: 19. July 2005 22:39
Location: Germany
Operating System: Windows 7 / 8.1

Re: Python in XAMPP einbinden

Postby Wiedmann » 13. November 2009 22:56

Yup, ScriptInterpreterSource ist natürlich vorzuziehen, bei einem fest installierten XAMPP. So tun dann deine Scripte unverändert unter Windows oder Linux.

Python ist bei mir auf Laufwerk D im Ordner Python installiert.

OK. Dann öffnest du eine Eingabeaufforderung (bei Vista: Rechtsklick -> als Administrator). Dort gibst du nacheinander die drei Kommandos ein:
Code: Select all
ftype pyfile="D:\Python\python.exe" "%1" %*
reg add HKCR\pyfile\Shell\ExecCGI\Command /ve /t REG_SZ /d """"D:\Python\python.exe""" """%1""" %*" /f
assoc .py=pyfile


Code: Select all
# For Python
#
AddHandler cgi-script .py
ScriptInterpreterSource Registry-Strict

Ich hab jetzt keine Ahnung wo du das stehen hast, aber in der "httpd.conf" Zeile ~406 gibt' schon einen AddHandler, da könnte man das drunterschreiben.

Dann halt noch Apache neu starten. Wenn er bei dir also Systemdienst läuft, dann Windows neu starten.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: Python in XAMPP einbinden

Postby Wiedmann » 13. November 2009 23:17

Nur damit es nicht übersiehst... Beim "reg add" kommt bei ExecCGI noch ein "\Command" dahinter. Sorry vergessen.

Dann also den erstmal löschen und das Korrigierte eingeben:
Code: Select all
reg delete HKCR\pyfile\Shell\ExecCGI /ve /f
reg add HKCR\pyfile\Shell\ExecCGI\Command /ve /t REG_SZ /d """"D:\Python\python.exe""" """%1""" %*" /f

(also ich grad mal ausprobiert. Funktioniert wie es soll mit einem "HelloWorld.py".)
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: Python in XAMPP einbinden

Postby Demetry » 14. November 2009 02:56

Nach den Änderungen an der Registry erhalte ich weiterhin noch die Fehlermeldung Serverfehler 500!
Es steht da jetzt auch noch folgendes:

Code: Select all
Premature end of script headers: test.py


Irgendwie muss es jetzt nur noch an dem Script liegen: Ich hab es bis auf den PRINT-Befehl reduziert. Auch ausprobiert ob ich die Shebang-Zeile drin lassen soll oder nicht, spielt keine Rolle. Habe ich was vergessen?
Best Regards,
Demetry
Demetry
 
Posts: 79
Joined: 19. July 2005 22:39
Location: Germany
Operating System: Windows 7 / 8.1

Re: Python in XAMPP einbinden

Postby Demetry » 14. November 2009 08:28

Soeben stelle ich auch fest, dass CGI Scripts nicht laufen. Die werden mir beim Aufruf als Download angeboten. PHP und SHTML aber hingegen funktionieren...
Best Regards,
Demetry
Demetry
 
Posts: 79
Joined: 19. July 2005 22:39
Location: Germany
Operating System: Windows 7 / 8.1

Re: Python in XAMPP einbinden

Postby Nobbie » 14. November 2009 10:45

Da hast Du Dein Xampp ganz schön kaputt geschossen.

Was Du uns übrigens auch noch gar nicht gesagt hast:

a) wo ist Xampp installiert
b) wo befinden sich Deine CGI-Testscripts
c) wie rufst Du sie im Browser auf

Die AddHandler Zeile brauchst Du sowieso NUR, wenn Du .py Dateien außerhalb vom ScriptAlias (normalerweise /cgi-bin) ausführen willst. Also ich habe auf Anhieb (ohne irgendetwas zu ändern) ins cgi-bin die test.py kopiert und einfach mit http://localhost/cgi-bin/test.py gestartet. Nur die Shebang Zeile habe ich auf den bei mir installierten Interpreter angepasst - fertig.

Aufwand: 10 Sekunden.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: Python in XAMPP einbinden

Postby Demetry » 14. November 2009 12:38

Ich hab einfach die alte Installation komplett gekillt und neu installiert. Liegt auf Laufwerk E:\xampp\. Und die Scripts liegen in "cgi-bin"-Ordner. Habe das auch probiert, wenn ich die test.py von htdocs aus starte, kommt die selbe Fehlermeldung.

Dafür erhalte ich jetzt deine neue Fehlermeldung:

Code: Select all
malformed header from script. Bad header=Hallo!: test.py


Und ohne dass ich etwas irgendwo verändert habe oder so.

Ich versteh das echt nicht und ich blicke da auch nicht mehr durch! Ich hab zuvor noch nie was mit CGI/Perl und Python gearbeitet gehabt. Aber nun muss ich mich damit etwas auseinander setzen.
Best Regards,
Demetry
Demetry
 
Posts: 79
Joined: 19. July 2005 22:39
Location: Germany
Operating System: Windows 7 / 8.1

Re: Python in XAMPP einbinden

Postby Wiedmann » 14. November 2009 13:18

Premature end of script headers: test.py

Fein. Damit findet der Apache Python jetzt richtig. Und es ist Problem mit dem Script selbst

Irgendwie muss es jetzt nur noch an dem Script liegen: Ich hab es bis auf den PRINT-Befehl reduziert.

Ein CGI muss auch selbst einen korrekten Header ausgeben. z.B.:

test.py
Code: Select all
print "Content-Type: text/html\n\n"

print "<html><body><p>Hello world!</p></body></html>"
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: Python in XAMPP einbinden

Postby Nobbie » 14. November 2009 13:44

Wiedmann wrote:Ein CGI muss auch selbst einen korrekten Header ausgeben. z.B.:

test.py
Code: Select all
print "Content-Type: text/html\n\n"

print "<html><body><p>Hello world!</p></body></html>"


Das hatte ich auch vermutet - gleich getestet: ist nicht die Fehlerursache. Wenn der Content Header fehlt, wird das Script fehlerfrei ausgeführt, aber der Browser zeigt das HTML als text/plain an. Da ist noch irgendetwas anderes kaputt.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: Python in XAMPP einbinden

Postby Demetry » 15. November 2009 02:11

Ich hab zwar absolut gar keine Ahnung wieso und warum, aber was soll ich sagen? Es läuft jetzt! :-)
Es muss tatsächlich irgendwie am Script gelegen haben...
Danke euch für die Geduld und Hilfe!

Nach einigem Experimentierens... Wie kriege ich z. B. fremde Python-Scripte zum laufen? Muss ich dann, wenn ich TRAC oder MailMan mir anschauen würde wollen, erst alle .py files anpassen? Falls ja, denke ich, dass da ein Script einem die Arbeit erleichtern könnte...

Was mir noch gerad auffällt: Wenn ich über den Webbrowser ein Verzeichnis über aufrufe und da gibts keine Index-Datei, so wird mir der Ordnerinhalt ausgegeben. In diesem Ordner befindet sich z. B. aber eine setup.py beispielsweise. Wenn ich dann darauf klicke, wird diese mir natürlich nicht interpretiert, sondern zum Download angeboten. Vermutlich, weil ich auch dort die Shebang-Zeile anpassen müsste.

Das TRAC-Tool und z. B. der MailMan weisen doch eine enorme Anzahl an bearbeitbaren Dateien auf...

Wie könnte man das automatisch mit einem Script erledigen?
Best Regards,
Demetry
Demetry
 
Posts: 79
Joined: 19. July 2005 22:39
Location: Germany
Operating System: Windows 7 / 8.1

Re: Python in XAMPP einbinden

Postby Demetry » 15. November 2009 03:26

Auf der Homepage hier im Downloadbereich steht, dass das Addon für CGI/Perl seit der aktuellen Version 1.7.2 in das Basispaket integriert worden ist.

Wenn ich die URL "http://localhost/cgi-bin/printenv.pl" aufrufe, wird mir ebenfalls das Perl Script nicht interpretiert. Muss ebenfalls ein Interpreter extern für Perl installiert werden?
Best Regards,
Demetry
Demetry
 
Posts: 79
Joined: 19. July 2005 22:39
Location: Germany
Operating System: Windows 7 / 8.1

PreviousNext

Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 34 guests