Python auf Server = Plaintext?

Probleme bei der Installation?
Antworten
CookieSoft
User
Beiträge: 17
Registriert: Sonntag 13. Mai 2012, 18:58

Hallo,
ich habe mir einen Server (100 MB Angebot) bei Adeska bestellt auf dem Python installiert sein sollte hier: http://www.adeska.de/webhosting-info.html
So doch wenn ich auf meinem Server eine Datei helloworld.py erstelle den Code

Code: Alles auswählen

print "Hello World"
eingebe und im Browser aufrufe, bekomme ich nur den Code ausgegeben und nicht das Hello World :( :( !! Wie geht es richtig, was mache ich falsch? Oder soll ich mich an den Support wenden? Vielen Dank für Antworten!
"Don't be evil" - Google™
webspider
User
Beiträge: 485
Registriert: Sonntag 19. Juni 2011, 13:41

Python-Skripte werden üblicherweise mittels (Mikro-)Frameworks umgesetzt. Du kannst ja lokal auf deinem Rechner eines ausprobieren, bevor du versuchst es auf deinem Webspace aufzusetzen.

Achja, der Vermerk dass Python unterstützt wird, sagt noch lange nichts über das Gelingen deines Vorhabens aus. Wenn wirklich nur CGI nutzbar ist, könnte es problematisch werden.
BlackJack

@CookieSoft: Ich habe die Webseiten kurz überflogen und keine näheren Informationen gefunden als Python mit einem grünen Häkchen dahinter. Das reicht nicht aus um wirklich weiterhelfen zu können. Es gibt verschiedene Wege Python ins Web zu bringen. Die heute wohl gebräuchlichste Art mit dem Apache-Webserver ist über das Apache-Modul `mod_wsgi`.

Auf jeden Fall würde Dir das bei *dem* Skript nicht viel bringen. Ganz so einfach ist eine Webanwendung dann doch nicht. Da muss das Skript entweder einen Teil des HTTP-Protokolls „sprechen” wenn man es als CGI-Skript macht, oder man muss gegen die WSGI-API programmieren, wenn man es per `mod_wsgi` einbindet, oder man verwendet gleich ein Rahmenwerk, dass die Schnittstelle abstrahiert. Muss ja kein grosses sein — mit Bottle und Flask gibt es zwei nette Mikrorahmenwerke.
CookieSoft
User
Beiträge: 17
Registriert: Sonntag 13. Mai 2012, 18:58

Also ich habe in meine CPanel unter Software CGI installiert nur wie krieg ich das mit Python hin hast du vielleicht nen Tipp? Trotzdem danke für deine Antwort!
"Don't be evil" - Google™
CookieSoft
User
Beiträge: 17
Registriert: Sonntag 13. Mai 2012, 18:58

BlackJack hat geschrieben:@CookieSoft: Ich habe die Webseiten kurz überflogen und keine näheren Informationen gefunden als Python mit einem grünen Häkchen dahinter. Das reicht nicht aus um wirklich weiterhelfen zu können. Es gibt verschiedene Wege Python ins Web zu bringen. Die heute wohl gebräuchlichste Art mit dem Apache-Webserver ist über das Apache-Modul `mod_wsgi`.

Auf jeden Fall würde Dir das bei *dem* Skript nicht viel bringen. Ganz so einfach ist eine Webanwendung dann doch nicht. Da muss das Skript entweder einen Teil des HTTP-Protokolls „sprechen” wenn man es als CGI-Skript macht, oder man muss gegen die WSGI-API programmieren, wenn man es per `mod_wsgi` einbindet, oder man verwendet gleich ein Rahmenwerk, dass die Schnittstelle abstrahiert. Muss ja kein grosses sein — mit Bottle und Flask gibt es zwei nette Mikrorahmenwerke.
danke
"Don't be evil" - Google™
CookieSoft
User
Beiträge: 17
Registriert: Sonntag 13. Mai 2012, 18:58

also ich habe jetzt mal im Apache Handler über das CPanel den modwsgi hinzugefügt es kahm eine Erfolgsmeldung: "Der Handler mod-wsgi wurde den folgenden Erweiterungen zugeordnet: modwsgi" was nun? =) Vielen Dank!
"Don't be evil" - Google™
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Du fängst mal an, im Wiki ein wenig zu schmökern (und dann entsprechend weiter führende Links zu nutzen).
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Also was aufjedenfall Funktionieren sollte:

Code: Alles auswählen

#! /usr/bin/env python

print "Content-type: text/html\n\n"
print "<html>Hallo Welt!</html>"
Die Datei muss ausführbar sein und in dem Ordner müssen CGI Scripte erlaubt sein. Dann gibst du etwas in der Art in die Apache Config wie:

Code: Alles auswählen

AddHandler cgi-script .py
Das ist aber die schlechteste Möglichkeit Python ins Web zu bringen. Such doch mal im cPanel nach mod_wsgi, mod_python, mod_fastcgi o.Ä. und sag uns was du findest. Bzw frag den Support.
CookieSoft
User
Beiträge: 17
Registriert: Sonntag 13. Mai 2012, 18:58

Danke Danke! Aber ich wo liegt die Apache config File (ich weis dumme Frage aber ich hab scho ewig gesucht finde diese dennoch nicht) ?
"Don't be evil" - Google™
CookieSoft
User
Beiträge: 17
Registriert: Sonntag 13. Mai 2012, 18:58

Ach ja mod_wsgi hab ich schon installiert hab ich oben i-wo auch geschrieben :D
"Don't be evil" - Google™
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Da war ich noch am Antworten als du das geschrieben hattest. Wenn du mod_wsgi am laufen hast, dann solltest du dich mit Hyperions Link http://wiki.python-forum.de/Web-Frameworks beschäftigen.

Die Frameworks beschreiben dir auch (meistens) wie man sie auf dem Server laufen lässt. Ich würde dir ja Flask nahelegen bin mir aber nicht sicher wie aufwendig dann die Installation für dich ist. Daher wäre dann vielleich Bottle einfacher zu handhaben.

Tipp 1: Versuch auf deinem Rechner mal eine kleine Anwendung zu schreiben und laufen zu lassen
Tipp 2: Such dann bei einer Suchmaschine nach "cPanel mod_wsgi *Framework deiner Wahl*" oder in der Doku deines Frameworks
Antworten