Seite 1 von 1

Python als Webskriptsprache

Verfasst: Dienstag 14. Februar 2012, 21:59
von choallin
Hallo Leute!

Ich komme von der PHP Ecke, und hab mich jetzt entschlossen mich mit Python als Skriptsprach zu beschäftigen. Leider ist der Einstieg aber nicht ganz so leicht. Im Gegensatz zu PHP gibt es für Python anscheinend keine fertig konfigurierte Entwicklungsumgebung (ich mein jetzt keine IDE, sondern einen Webserver mit dazupassender WSGI Schnittstelle für Python). Ich verwende Ubuntu, und hab schon einiges probiert, aber ich bekomme mod_wsgi nicht zum Laufen.
Da ich PHP bereits aktiviert habe, hab ich mir die phpinfo ausgeben lassen, und es schaut so aus, also ob mod_wsgi vom Indianer geladen wurde. (Beim apache Handler steht unter loaded modules mod_wsgi). Da ich (noch ;-) ) nicht wirklich viel Ahnung von Python, und noch weniger von wsgi habe, verwende ich ein Testskript aus dem Internet um zu sehen ob die Schnittstelle funktioniert.
Hier der Code der test.wsgi Datei:

Code: Alles auswählen

def application(environ, start_response): status = '200 OK' output = 'Hello World!'
response_headers = [('Content-type', 'text/plain'),
                    ('Content-Length', str(len(output)))]
start_response(status, response_headers)
return [output]
Damit der Python Interpreter diese Seite abarbeitet habe ich in der Datei /etc/apache2/sites-available/default für den Rootordner folgende Handler hinzugefügt:
AddHandler cgi-script .cgi
AddHandler wsgi-script .wsgi
Da ich bis jetzt aber noch nirgends angegeben habe wo der Python Interpreter ist, frage ich mich wo ich das noch tun kann. Fehlt sonst auch noch was an Einstellungen? Wäre für jede Hilfe dankbar.

so long
choallin

Re: Python als Webskriptsprache

Verfasst: Dienstag 14. Februar 2012, 23:05
von snafu
Bottle kennt das Prinzip von Server-Adaptern. Ist dies vielleicht schon das, was du suchst?

Re: Python als Webskriptsprache

Verfasst: Dienstag 14. Februar 2012, 23:14
von deets
Vergiss einfach erstmal Apache. Oder NGINX.

Alle namhaften Webframeworks in Python kommen mit standalone servern daher, die fuer die Entwicklung voellig ausreichend sind (ehrlich gesagt sogar wahrscheinlich fuer die meisten Seiten da draussen).

Wenn du irgendwann mal was gebaut hast, dass zu veroeffentlichen sich lohnt, dann kannst du dich mit WSGI auseinandersetzen.

Re: Python als Webskriptsprache

Verfasst: Dienstag 14. Februar 2012, 23:30
von choallin
Ok, danke für den Tipp. Dann werd ich es fürs erste mal ohne Apache versuchen.

Bezüglich Frameworks hab ich mich auch schon etwas erkundigt. Was mich bis jetzt sehr angesprochen hat, war Pyramid. Hat damit schon jemand Erfahrung?
Bottle schaut auch recht interessant aus, muss ich mir noch etwas genauer ansehen... . Danke für den Tipp.

Da ich auf meinem Rechner 2 verschiedene Versionen von Python installiert habe (Python 2.7 und 3.2) und ich gerne mit der 3er Version starten würde (ist das zu empfehlen?), frag ich mich, wie ich im Terminal dafür sorgen kann, dass der Befehl pip something mir die Packages für Python 3.2 holt. Weiß jemand was ich da einstellen muss? (Ich weiß, ist eigentlich eine Linux Frage, aber falls sich jemand auskennt wäre das toll :-) )

Danke euch auch für die schnelle Antwort. Damit kann ich wieder weitermachen.

so long
choallin

Re: Python als Webskriptsprache

Verfasst: Dienstag 14. Februar 2012, 23:36
von DasIch
Gerade wenn du Webentwicklung betreiben willst ist von Python 3 momentan abzuraten.

Re: Python als Webskriptsprache

Verfasst: Dienstag 14. Februar 2012, 23:56
von Hyperion
choallin hat geschrieben: Da ich auf meinem Rechner 2 verschiedene Versionen von Python installiert habe (Python 2.7 und 3.2) und ich gerne mit der 3er Version starten würde (ist das zu empfehlen?), frag ich mich, wie ich im Terminal dafür sorgen kann, dass der Befehl pip something mir die Packages für Python 3.2 holt.
Unter ArchLinux heißt es bei mir `pip2` für Python2 und `pip` für Python3. Da bei Arch Python3 den Standard bildet, ist das Benennungsschema da ein wenig außer der Reihe. Aber Du könntest ja mal gucken, ob es ein `pip` für Python3 als Paket gibt - der Befehl wäre dann analog ggf. `pip3`?