Hi,
was gibt es an guten Tutorials, podcasts, Büchern etc. die man auch Einsteigern in die Materie Webentwicklung mit Python auf Basis CGI und FastCGI empfehlen kann? (evtl. auch noch mod_python)
Frameworks sollten erstmal außen vor bleiben - Denke ich.
Gruss
Volker
PS: Gibt es ein sog. TABU-Dokument[1] (wie es z.B. für LaTeX existiert) für Python
[1] ftp://tug.ctan.org/pub/tex-archive/info ... tabuen.pdf
"native" Webentwicklung ohne Frameworks
Im allgemeinen zu Empfehlen: " Obekt Orientierte Programmierung mit Python"
Da gibt es auch eine kleine Einführung in die Welt der CGI Programierung mit Python.
Allerdings ist das eines der Bücher, die nach einer Weile langweilig werden, weswegen ich direkt nie bis zu diesem Kapitel vorgedrungen bin. Aber es ist ganz informativ.
Ansonsten interessieren mich auch andere Dokus Ma schaun.
MfG EnTeQuAk
EDIT:
gerade unter Links und Tutorials gefunden:
http://webpython.codepoint.net/
Da gibt es auch eine kleine Einführung in die Welt der CGI Programierung mit Python.
Allerdings ist das eines der Bücher, die nach einer Weile langweilig werden, weswegen ich direkt nie bis zu diesem Kapitel vorgedrungen bin. Aber es ist ganz informativ.
Ansonsten interessieren mich auch andere Dokus Ma schaun.
MfG EnTeQuAk
EDIT:
gerade unter Links und Tutorials gefunden:
http://webpython.codepoint.net/
Je nachdem, was du für eine Hosting-Umgebung zur Verfügung hast, solltest du dich direkt mit WSGI anstelle von CGI beschäftigen - auch wenn du bei letzterem sehr viel über HTTP und Webserver lernst. Ohne Framework kommst du am ehesten bei CGI aus, aber auch bei WSGI geht das auch.
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Da gibt es IMHO nicht so viel online
Allgemeines zu WSGI:
[wiki]WSGI[/wiki]
Fast ein colubrid Tutorial:
[wiki]Colubrid/Hello World[/wiki]
Weitere Info's zu Colubrid:
[wiki]Tags/Colubrid[/wiki]
Suche hier im Forum mal nach "WSGI" !!!
Ich würde dir allerdings ganz dringend raten zumindest colubrid zu nehmen! Ansonsten würde ich WSGI pur machen, kein CGI oder gar fastCGI direkt nutzten!vbd hat geschrieben:Frameworks sollten erstmal außen vor bleiben - Denke ich.
Allgemeines zu WSGI:
[wiki]WSGI[/wiki]
Fast ein colubrid Tutorial:
[wiki]Colubrid/Hello World[/wiki]
Weitere Info's zu Colubrid:
[wiki]Tags/Colubrid[/wiki]
Suche hier im Forum mal nach "WSGI" !!!
@Y0Gi
Hosting ist beeinflußbar, da es sich um eine Intranet-Umgebung
handelt wobei das Alt-System Apache+Tomcat (JAVA) durch
Apache+Python ersetzt wird.
Tipps hierzu werden gerne aufgenommen
@jens
WSGI habe ich bis vor 5 Minuten noch nicht gehört... sehe schon habe
hier noch einiges an Nachholbedarf.
Auch hierzu nehme ich gerne jeden Tipp entgegen
Gruß aus Nürnberg
Volker
Hosting ist beeinflußbar, da es sich um eine Intranet-Umgebung
handelt wobei das Alt-System Apache+Tomcat (JAVA) durch
Apache+Python ersetzt wird.
Tipps hierzu werden gerne aufgenommen
@jens
WSGI habe ich bis vor 5 Minuten noch nicht gehört... sehe schon habe
hier noch einiges an Nachholbedarf.
Auch hierzu nehme ich gerne jeden Tipp entgegen
Gruß aus Nürnberg
Volker
Hallo,
also WSGI verwirrt mich, macht mich aber auch neugierig.
eben gelesen:
[wiki]Python im Web[/wiki]
[wiki]WSGI[/wiki]
gerade ausgedruckt:
http://www.xml.com/lpt/a/1674
http://www.xml.com/lpt/a/1675
auf der Platte: Apache 2.0.59
für den Download vorgemerkt: Python 2.5
Was brauche ich jetzt noch um auf einem Windows XP SP2
Arbeitsplatzrechner eine lauffähige WSGI-Umgebung zum Laufen zu
kriegen?
ich tippe mal auf
mod_fcgid von http://fastcgi.coremail.cn/ - gibts da auch
Windows-Binaries?
colubrid von http://wsgiarea.pocoo.org/colubrid/ - gibts die Version
auch für Python 2.5?
Und dann wäre noch ne Installationsanleitung nett
Gibt's dazu Hinweise was man unbedingt beachten muß/sollte?
Gruß aus Nürnberg
Volker
also WSGI verwirrt mich, macht mich aber auch neugierig.
eben gelesen:
[wiki]Python im Web[/wiki]
[wiki]WSGI[/wiki]
gerade ausgedruckt:
http://www.xml.com/lpt/a/1674
http://www.xml.com/lpt/a/1675
auf der Platte: Apache 2.0.59
für den Download vorgemerkt: Python 2.5
Was brauche ich jetzt noch um auf einem Windows XP SP2
Arbeitsplatzrechner eine lauffähige WSGI-Umgebung zum Laufen zu
kriegen?
ich tippe mal auf
mod_fcgid von http://fastcgi.coremail.cn/ - gibts da auch
Windows-Binaries?
colubrid von http://wsgiarea.pocoo.org/colubrid/ - gibts die Version
auch für Python 2.5?
Und dann wäre noch ne Installationsanleitung nett
Gibt's dazu Hinweise was man unbedingt beachten muß/sollte?
Gruß aus Nürnberg
Volker
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Nur so am Rande... Auf Python 2.5 würde ich momentan noch nicht setzten Schau mal hier: http://www.python-forum.de/topic-7741.html
Apache und WSGI hört sich bestens an! Von mod_python habe ich noch nie viel gehalten und scheinbar "braucht" man es heutzutage nicht mehr. mod_fcgi klingt sehr gut, benutze ich momentan auch online.
Alternativ könnte man auch, etwa mit PasteScript und PasteDeploy, einen Python-Webserver für die dynamischen verwenden. Zum lokalen Testen und Entwickeln kann der auch die statischen Dateien liefern, im Produktiveinsatz sollte das der Apache übernehmen. Wenn du mod_fcgi unter Windows nicht in den Apache bekommst, kannst du auch so ohne umständliches Setup lokal arbeiten und dann nur auf dem eigentlichen (hoffentlich Unix-basierten) Server den Apache nutzen (und mod_fcgi über die entsprechende Paketverwaltung installieren). Den Stand-alone-Server dann auf Apache umzustellen ist eine Sache von wenigen Zeilen konfiguration, etwa über ScriptAlias oder mod_rewrite.
Lighttpd könnte eine Alternative zu Apache sein, aber die Menge an Literatur, Tutorials, Hilfestellungen und bereits beantworteten Fragen ist bei letzterem deutlich größer.
In jedem Fall solltest du aber ein Auge auf Paste werfen; eine Art Meta-Framework für WSGI-Anwendungen, das sich um low-level-Dinge kümmert und eine wunderbare Toolbox darstellt, um eigene Anwendungen zu entwickeln, debuggen, testen und mehr. Der Einstieg ist meiner Erfahrung nach nicht ganz trivial, aber du kannst hier gerne fragen
Alternativ könnte man auch, etwa mit PasteScript und PasteDeploy, einen Python-Webserver für die dynamischen verwenden. Zum lokalen Testen und Entwickeln kann der auch die statischen Dateien liefern, im Produktiveinsatz sollte das der Apache übernehmen. Wenn du mod_fcgi unter Windows nicht in den Apache bekommst, kannst du auch so ohne umständliches Setup lokal arbeiten und dann nur auf dem eigentlichen (hoffentlich Unix-basierten) Server den Apache nutzen (und mod_fcgi über die entsprechende Paketverwaltung installieren). Den Stand-alone-Server dann auf Apache umzustellen ist eine Sache von wenigen Zeilen konfiguration, etwa über ScriptAlias oder mod_rewrite.
Lighttpd könnte eine Alternative zu Apache sein, aber die Menge an Literatur, Tutorials, Hilfestellungen und bereits beantworteten Fragen ist bei letzterem deutlich größer.
In jedem Fall solltest du aber ein Auge auf Paste werfen; eine Art Meta-Framework für WSGI-Anwendungen, das sich um low-level-Dinge kümmert und eine wunderbare Toolbox darstellt, um eigene Anwendungen zu entwickeln, debuggen, testen und mehr. Der Einstieg ist meiner Erfahrung nach nicht ganz trivial, aber du kannst hier gerne fragen
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi vbd!vbd hat geschrieben:die Materie Webentwicklung
Vielleicht bringt dir dieser Link einen Überblick:
http://www.python-forum.de/topic-7063.html
mfg
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi!
Hier kommt CGI, glaube ich, recht gut rüber:
- http://www.python-forum.de/post-42514.html#42514
- http://www.python-forum.de/topic-6302.html
mfg
Gerold
Hier kommt CGI, glaube ich, recht gut rüber:
- http://www.python-forum.de/post-42514.html#42514
- http://www.python-forum.de/topic-6302.html
mfg
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Mahlzeit
Kurzer Lagebericht
- Apache 2.0.59 installiert
- Python 2.4.1 installiert (lag bereits auf der Festplatte rum und
wegen der Bedenken zu 2.5). Oder sollte ich auf 2.4.4 gehen?
Mit dem Skript unter http://www.python-forum.de/topic-6856.html
herumgebastelt in cgi-bin-Verzeichnis gepackt -> läuft.
Soweit so gut. Werde mich jetzt mal an http://fastcgi.coremail.cn/
und http://wsgiarea.pocoo.org/colubrid/ versuchen zu vergreifen.
@jens: Danke für den Hinweis zu Python 2.5
@Y0Gi: Ist Paste vergleichbar mit colubrid? (Unterschiede/Vorteile?)
Produktivumgebung ist leider ein Windows 2000-Server bzw. Windows
2003-Server - geplant mit Apache.
Lighttpd gibt es für Windows wie ich eben sehe. Lade gerade 1.4.13
runter mal sehen. Habe bislang nur gute Erfahrungen mit dem Apachen
gemacht (seit ca. 1996) und würde gerne dabei bleiben.
Grüsse aus Nürnberg
Volker
Kurzer Lagebericht
- Apache 2.0.59 installiert
- Python 2.4.1 installiert (lag bereits auf der Festplatte rum und
wegen der Bedenken zu 2.5). Oder sollte ich auf 2.4.4 gehen?
Mit dem Skript unter http://www.python-forum.de/topic-6856.html
herumgebastelt in cgi-bin-Verzeichnis gepackt -> läuft.
Soweit so gut. Werde mich jetzt mal an http://fastcgi.coremail.cn/
und http://wsgiarea.pocoo.org/colubrid/ versuchen zu vergreifen.
@jens: Danke für den Hinweis zu Python 2.5
@Y0Gi: Ist Paste vergleichbar mit colubrid? (Unterschiede/Vorteile?)
Produktivumgebung ist leider ein Windows 2000-Server bzw. Windows
2003-Server - geplant mit Apache.
Lighttpd gibt es für Windows wie ich eben sehe. Lade gerade 1.4.13
runter mal sehen. Habe bislang nur gute Erfahrungen mit dem Apachen
gemacht (seit ca. 1996) und würde gerne dabei bleiben.
Grüsse aus Nürnberg
Volker
Ja. Und unter Windows isses ja schnell heruntergeladen.vbd hat geschrieben:Oder sollte ich auf 2.4.4 gehen?
BTW: Hast du mal von setuptools/easy_install gehört? Darüber kannst du wunderbar einfach und komfortabel die meisten Python-Pakete einspielen.
Letztlich musst du nur FastCGI zum Laufen bringen und dann über das flup-Python-Paket FastCGI ansprechen. Entsprechend funktioniert das mit dem Apachen; ein Unterschied besteht nur in der Serverkonfiguration, während die/deine Anwendung gleich bleibt.vbd hat geschrieben:lighttpd läuft gerade - aber im Forum von lighttpd fand ich nix bzgl. wsgi...
Dann mach das!vbd hat geschrieben:Lighttpd gibt es für Windows wie ich eben sehe. Lade gerade 1.4.13 runter mal sehen. Habe bislang nur gute Erfahrungen mit dem Apachen gemacht (seit ca. 1996) und würde gerne dabei bleiben.
Nicht schön, aber machbar ist es definitivvbd hat geschrieben:Produktivumgebung ist leider ein Windows 2000-Server bzw. Windows 2003-Server - geplant mit Apache.
Hm, gute Frage. Soweit ich weiß sind beide Pakete Abstraktionen der WSGI-Schnittstelle. Colubrid ist wohl etwas kompakter, Paste kommt dafür u.a. mit sehr interessanten Middlewares (z.B. Live-Debugging im Browser) daher. Paste bringt neben einem eigenen Webserver auch zwei inzwischen abgespaltene Pakete - PasteDeploy und PasteScript - mit, um u.a. das Deployment und die Entwicklung von Frameworks zu vereinfachen und zu vereinheitlichen.vbd hat geschrieben:@Y0Gi: Ist Paste vergleichbar mit colubrid? (Unterschiede/Vorteile?)
Ich persönlich fahre mit Paste sehr gut. Bei Colubrid bin ich etwas über die verschiedenen Application-Typen gestolpert, die IMHO zu sehr die Aufgaben eines Frameworks vorwegnehmen. Dies unter Vorbehalt, hier gibt es ja so einige Colubrid-Entwickler und -Anwender, die das genauer beleuchten können sollten.
Hi,
nächste Frage - eigentlich eher eine Apache-Frage aber vielleicht
weiß einer von euch ob es korrekt ist, funktionieren tut es
zumindest.
Das Binärpaket von mod_fcgid für Windows heruntergeladen
entsprechend Readme First.txt installiert und folgendermaßen in der
httpd.conf des Apache verdrahtet.
Das Skript im fcgi-bin wird ausgeführt und funktioniert korrekt.
Wie kann ich jetzt einen Unterschied zwischen dem CGI und der
FCGI-Variante feststellen?
Grüße aus Nürnberg
Volker
nächste Frage - eigentlich eher eine Apache-Frage aber vielleicht
weiß einer von euch ob es korrekt ist, funktionieren tut es
zumindest.
Das Binärpaket von mod_fcgid für Windows heruntergeladen
entsprechend Readme First.txt installiert und folgendermaßen in der
httpd.conf des Apache verdrahtet.
Code: Alles auswählen
LoadModule fcgid_module modules/mod_fcgid.so
<Location "C:/Programme/Apache Group/Apache2/fcgi-bin">
SetHandler fcgid-script
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
FCGIWrapper "c:/python24/python.exe" .py
</Location>
Wie kann ich jetzt einen Unterschied zwischen dem CGI und der
FCGI-Variante feststellen?
Grüße aus Nürnberg
Volker
Ich kann dir nicht vollständig folgen, aber eine Config kann so aussehen:
So kannst du per RewriteRule oder ScriptAlias u.ä. auf eine .cgi- oder .fcgi-Datei verweisen, die dann entsprechend via CGI oder FastCGI ausgeführt wird. Die Datei selbst ist ein kleines Python-Script und hat natürlich als erste Zeile die Shebang-Line (#!/usr/bin/env python oder äquivalent).
Alternativ kannst du auf per AddHandler die Dateiendung .py setzen, das Script entsprechend umbenennen und dann jeweils eine der AddHandler-Zeilen auskommentieren, um zwischen CGI und FCGI zu wechseln.
Hilft dir das weiter?
Code: Alles auswählen
Options +ExecCGI
AddHandler cgi-script .cgi
AddHandler fcgid-script .fcgi
Alternativ kannst du auf per AddHandler die Dateiendung .py setzen, das Script entsprechend umbenennen und dann jeweils eine der AddHandler-Zeilen auskommentieren, um zwischen CGI und FCGI zu wechseln.
Hilft dir das weiter?
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Das bietet colubrid auch Ist super zum Entwickeln... Macht das ganze sogar viel Informative als der normale Python-Traceback auf der KonsoleY0Gi hat geschrieben:Colubrid ist wohl etwas kompakter, Paste kommt dafür u.a. mit sehr interessanten Middlewares (z.B. Live-Debugging im Browser) daher.
Naja, die kann man nutzten, muß man aber nicht... IMHO sind die sehr praktisch gerade für kleine Sachen...Y0Gi hat geschrieben:Bei Colubrid bin ich etwas über die verschiedenen Application-Typen gestolpert...
btw. FastCGI nützt zum entwickeln überhaupt nix! Das ist nur was für "fertige" WebApps, die produktiv laufen sollen.
Zum Entwickeln geht's am besten mit colubrids Entwicklungsserver (genau wegen dem Live-Tracebacks) oder aber Apache mit normalem CGI...
hmmm ... also ich interessiere mich ja grundsaetzlich auch fuer webentwicklung mit python ... das ist auch eigentlich der grund weshalb ich jetzt angefangen habe python zu lernen, weil mir php einfach nen bissle auffe eier ging ...
mir stellt sich da nur die frage ... ich meine die ganzen kleinen "Frameworks" die hier empfohlen werden um webapps mit python zu erstellen... wie Paste und Colubrid(oder so)... ich bin da immer nen bissle skeptisch ... ich weiss jetzt ned genau wie es bei den projekten aussieht ... aber ich hab bei so kleineren sachen immer angst das die entwicklung irgendwann eingestellt wird weil der entwickler keine zeit mehr hat oder so ... und dann war alles mehr oder minder fuer die katz ... vielleicht koennt ihr mich ja mal vom gegenteil ueberzeugen
gruessle TDO
mir stellt sich da nur die frage ... ich meine die ganzen kleinen "Frameworks" die hier empfohlen werden um webapps mit python zu erstellen... wie Paste und Colubrid(oder so)... ich bin da immer nen bissle skeptisch ... ich weiss jetzt ned genau wie es bei den projekten aussieht ... aber ich hab bei so kleineren sachen immer angst das die entwicklung irgendwann eingestellt wird weil der entwickler keine zeit mehr hat oder so ... und dann war alles mehr oder minder fuer die katz ... vielleicht koennt ihr mich ja mal vom gegenteil ueberzeugen
gruessle TDO
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Naja, generell hast du natürlich die Gefahr, wenn du kleine und vor allem neue Sachen nutzt... Aber zu colubrid, jinja und pygments: All diese Module werden in pocoo verwendet: http://trac.pocoo.org/#PocooSubprojects
Und ich denke nicht das pocoo nach hinten losgehen wird...
Das schöne an OpenSource ist ja auch, das keine Firma Pleite gehen kann und die Sourcen dann weg sind...
Somit wird sich IMHO immer irgendwer finden, der ein "totes" Projekt wieder zum leben erweckt, wenn es sich denn lohnt...
Und ich denke nicht das pocoo nach hinten losgehen wird...
Das schöne an OpenSource ist ja auch, das keine Firma Pleite gehen kann und die Sourcen dann weg sind...
Somit wird sich IMHO immer irgendwer finden, der ein "totes" Projekt wieder zum leben erweckt, wenn es sich denn lohnt...