Python Frage

G

GruenSein

Aktives Mitglied
Thread Starter
Dabei seit
15.03.2007
Beiträge
345
Reaktionspunkte
32
Hallo zusammen!

Ich programmiere sehr amateurhaft etwas in PHP und wollte mir mal Python anschauen. Mein Hoster hat mir auch den Pfad für den Interpreter geschickt und gesagt, Python sei möglich. Aber selbst das simpelste Hallo-Welt-Programm geht nicht. Liegt mein Hoster falsch oder habe ich tatsächlich schon bei:

#!/usr/sbin/python
print "<html><body>Hallo Welt</body></html>"

etwas elementar falsch gemacht?
Alle Anregungen zu Python Befehlsverzeichnissen etc. nehme ich auch gerne (zB Sessions und MySQL Zugriff wie in PHP muss es in Python ja auch geben).

Danke schonmal!
 
python sollte eigentlich nicht in /usr/sbin liegen, da liegen nur die binaries für root...
probier mal /usr/bin
 
ja das hab ich mir auch gedacht, aber ich habs anders auch schon probiert und es ging nicht...
 
lass mich raten, du willst das python script auf dem webserver (apache?) ausführen?
dann musst du das entweder in das cgi-bin verzeichnis packen oder modpy muss wohl installiert sein und geladen...
 
Bei mir ist es in /usr/bin/env
Was passiert denn genau, wenn Du dein Beispiel ausführst?
 
Hallo

Wichtig ist das die Rechte der Datei auch das Ausführen der Datei erlauben und natürlich das sich die Datei auch im cgi-bin Verzeichnis deines Webservers befindet, wenn nichts anderes konfiguriert ist.
 
Also die rechte habe ich gesetzt, trotzdem sehe ich nur den code selber, wenn ich die datei (kreativer weise "test.py" genannt) im browser aufrufe. was genau auf dem server läuft oder nicht, weiß ich nicht. mein hoster hat mir nur geschrieben, dass das ausführen von python scripten möglich sei. auch über den ordner, wo die datei reinmuss, weiß ich nciht bescheid. cgi-bin gibt es nicht und ich habe die datei einfach in den einzigen ordner gelegt, der von außen aufrufbar ist. merkwürdig...
 
dann pack mal eine .htaccess in das web verzeichnis mit
Options +ExecCGI
 
Danke für den Tipp, aber es funktioniert immernoch nicht. Ich werde mich wohl nochmal an meinen Hoster wenden müssen.
 
So ich bin mitlerweile so weit, dass ich immerhin eine Fehlermeldung bekomme :)

Premature end of script headers

Ich kann erstens gar nichts damit anfangen, habe aber schon mal gegoogled und erfahren, dass man anscheinend Servereinstellungen anpassen muss, damit es geht (vllt versteh ich das aber auch falsch, wer weiß, aber am script selbst kann ja nicht so viel falsch sein). Da ich den Server aber nicht selbst betreibe, kann ich da wohl kaum was dran machen. Hat vllt jemand genale Vorschläge? Danke!
 
Code:
print "Content-type: text/html\n\nHallo Welt";
 
hab ich probiert, tut's auch nicht :(
 
In welchem Format hast du das file abgespeichert und hochgebracht?

Wenn du z.b. unter Win oder Mac enwickelst und der Hoster benutzt Linux, dann muss die die ENDLINES demenstrechend "umcodieren". Beim Editor Notepad++ kannst du wählen ob du Win/Mac oder Linux dateiformat abspeichern willst.

Was dann noch zu beachten ist, wie dein FTP-Programm das zeugs hochläd. Am besten du gibts beim FTP Programm an, das es AUTO sein soll, wenn nicht dann versuch ASCCI.

viel glück, wird schon werden :)

EDIT:

hier als Hilfestellung

http://de.wikibooks.org/wiki/Linux-Kompendium:_Linux_und_Windows_-_ein_Vergleich#Zeilenumbr.C3.BCche
 
Wenn du z.b. unter Win oder Mac enwickelst und der Hoster benutzt Linux, dann muss die die ENDLINES demenstrechend "umcodieren". Beim Editor Notepad++ kannst du wählen ob du Win/Mac oder Linux dateiformat abspeichern willst.
Unter OSX benutzt man im Regelfall den selben Zeilenumbruch wie unter Linux.
 
also ich nutze mein macbook zum schreiben der *.py datei. aber ich werde mal in cyberduck schaun, wo man den modus einstellen kann. danke für alle tipps. so schwer kann es ja jetzt nicht mehr sein, so einen zweizeiler ans laufen zu kriegen :)

edit: also cyberduck steht auf AUTO, wenn es um den übertragungsmodus geht. das script läuft übrigens auch auf meinem lokalen python-interpreter...
 
Zuletzt bearbeitet:
Zurück
Oben Unten