Einstieg in Webprogrammierung

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
heraklit
User
Beiträge: 31
Registriert: Donnerstag 8. März 2007, 16:50

Hallo,
momentan wird in einer meiner Vorlesungen u.a. PHP behandelt. Da ich jedoch vorwiegend Python verwende, PHP mir nicht besonders zusagt, und ich auch gehört habe, dass Python mehr oder weniger als "PHP-Ersatz" herangezogen werden kann, hab ich hier im Forum nach entsprechenden Infos gesucht. Leider werde ich regelrecht von einer Vielzahl klanghafter Begriffe "erschlagen", wie cgi (was mir ja noch etwas sagt), django, spyce, pse, zope, wsgi, mod_python uvm. Bisher habe ich erfolgreich das cgi-Modul getestet, weiß aber nicht, ob das überhaupt noch "zeitgemäß" ist bzw. ob es nicht sinnvollere Varianten gibt.
Ich suche vorwiegend nach einer einfachen Möglichkeit (hinsichtlich Programmierung und Einstieg), Python Programme auf dem Webserver auszuführen. Die Herangehensweise sollte dabei ähnlich wie in PHP sein. Wichtig für mich ist, dass diese "Möglichkeit" auch von gängigen Webhostern unterstützt wird. Besonders würde es mich freuen, wenn es auch kostenlosen webspace gäbe, auf dem die Programme ausgeführt werden können. Bei PHP z.B. ist es ja kein Problem auch kostenlosen Webspace zu finden (auch wenn er nicht immer werbefrei ist).
Gibt es also momentan eine Entwicklung in Python, die für mich interessant sein könnte?
Viele Grüße!
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Hallo heraklit!

Ich untersuche derzeit die Möglichkeiten, CherryPy so hin zu bekommen, dass man nicht eine "Gesamtanwendung", sondern viele kleine, abgeschlossene Einzelteile zum Funktionieren bekommt. Mir scheint, ich habe es in Verbindung mit Cheetah schon recht gut hin bekommen.

Meine Erfahrungen damit habe ich hier http://www.python-forum.de/topic-10807.html dokumentiert.

Demnächst schreibe ich noch dazu, wie von Cheetah-Vorlagen aus, auf Python-Code zugegriffen werden kann.

Cheetah lässt sich über mod_wsgi und mod_python in den Apachen integrieren. Wie das funktioniert, muss ich aber erst noch austesten, da ich im Moment unter Windows arbeite und es noch kein "./configure"-Skript von mod_wsgi unter Windows gibt.

Zum Punkt "Kostenloser Python-Webspace":
Es ist ja schon schwierig, kostenlosen PHP-Webspace zu bekommen, aber kostenlosen Python-Webspace??? Eher unwahrscheinlich.

EDIT:
Was ich so gesehen habe, sollten CherryPy sowie Cheetah auch ohne Installation laufen. Ich bin mir sicher, dass man diese Pakete auch in die eigene Anwendung integrieren kann, falls man die Möglichkeit zum Installieren dieser Pakte nicht hat.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
DatenMetzgerX
User
Beiträge: 398
Registriert: Freitag 28. April 2006, 06:28
Wohnort: Zürich Seebach (CH)

wenn du ein opensource projekt hast kannst du mal www.webfaction.com anschauen. Für opensource projekte vergeben sie gratis space.
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Wenn du ein Hosting-Paket ohne Shellzugriff benutzt, kannst du möglicherweise Python über CGI (das Common Gateway Interface, das übrigens auch Perl und PHP, neben anderen Sprachen, benutzen [können]) ausführen - habe ich auch sehr lange Zeit so gemacht (and it wasn't pretty).

Zwar soll man mit Bastelei auch größere Frameworks dort zum Laufen bewegen können (in der Pylons-Doku müsste ein Howto dazu sein), besser wäre dafür aber ein umfassender Zugang zu den Konfigurationsmöglichkeiten des Servers.

Für den Einstieg kannst du kleine Sachen direkt über CGI machen, indem du den Output samt Headern gefolgt von einer Leerzeile und dem eigentlichen Content manuell zusammenfügst und auf STDOUT schreibst und über das Modul ``cgi`` auf die Querystring- (GET) und Formularvariablen (POST) zugreifst.

Wenn du da mit der Zeit mehr und mehr drum herum baust und Abstraktion von CGI einführst, wirst du dich vermutlich immer weiter den bestehenden Frameworks annähern.
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Deiner Beschreibung nach ist das CGI schon was du suchst.

Es gibt jedoch viel Bequemere Wege mit Python zu entwickeln. Diese sind jedoch nicht "wie PHP". Und um sie sinnvoll zu Betreiben braucht man oft einen eigenen (v)server (Ja es geht auch ohne, aber es ist eher mühsam).

Wenn du indessen ein tolles Python Framework ansehen willst was nicht PHP ähnlich ist, dann schau dir doch mal Django an.
heraklit
User
Beiträge: 31
Registriert: Donnerstag 8. März 2007, 16:50

Hallo,
vielen Dank für eure Antworten. Wie oben erwähnt, möchte ich eigentlich "nur" Pythonprogramme auf einen Webserver zum Laufen bringen. Da habe ich z.B. einen numerischen Algorithmus implementiert, der das numpy-modul hauptsächlich verwendet. Über ein entsprechendes Formular würde das Programm mit dem Nutzer interagieren. Ich denke, dass dieser Algorithmus nicht ohne großen Aufwand in PHP realisiert werden kann, da PHP wahrscheinlich über keine vernünftiges Numerik-Modul verfügt, wenn überhaupt. Angenommen ich würde jetzt z.B. cgi einsetzen. Dann stellt sich natürlich die Frage nach geeigneten (möglichst kostenlosen) webspace. Da ich ein armer Student bin :oops: , kommt für mich in erster Linie nur kostenloser Webspace in Frage. Angenommen, es gäbe kostenlosen Webspace, der python und cgi anbieten würde. Was könnte man dann realisieren? Nur CGI, oder etwa auch django, cherrypy, usw.? Falls Python angeboten wird, heißt das aber nicht, dass auch non-standard Pakete wie numpy installiert sind.
Viele Güße
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Kostenlosen Webspace kann man gewöhnlich vergessen, wenn man wirklich Anforderungen im engeren Sinne hat. Und sobald es darum geht, das bestimmte (nicht pure-Python-)Pakete installiert sein müssen, wirst du bei einfachen Webhostern ohnehin die Grenzen erreichen.

Hast du in der Uni nicht die Möglichkeit, eine Shell zu bekommen und dir da zumindest ein lokales Python aufzusetzen und das über's Web zugänglich zu machen?
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Y0Gi hat geschrieben:Kostenlosen Webspace kann man gewöhnlich vergessen, wenn man wirklich Anforderungen im engeren Sinne hat. Und sobald es darum geht, das bestimmte (nicht pure-Python-)Pakete installiert sein müssen, wirst du bei einfachen Webhostern ohnehin die Grenzen erreichen.
Naja es gibt einige (kleinere) Shared Hoster mit denen sich reden lässt.

heraklit, du bist Student? Du Studierst Informatik/Mathematik/etwas verwandtes? Frag doch etwas bei deinen Kollegen herum, einer von denen wird schon einen Server haben und dir dort einen Account einrichten ;)
N317V
User
Beiträge: 504
Registriert: Freitag 8. April 2005, 13:23
Wohnort: München

[wiki=Python_im_Web]Hast Du das hier schon gesehen?[/wiki] Ich selbst vergess auch das Wiki immer.
Es gibt für alles eine rationale Erklärung.
Außerdem gibt es eine irrationale.

Wie man Fragen richtig stellt
heraklit
User
Beiträge: 31
Registriert: Donnerstag 8. März 2007, 16:50

Hallo,
cherrypy scheint mir doch ganz gut zu gefallen. Ich hab zwar keinen Webserver und kenn auch niemanden der einen hat, aber das lässt sich vielleicht später, wenn ich cherrypy z.B. beherrsche, ändern.
Gruß
Antworten