[bottle] Startschwierigkeiten
-
- User
- Beiträge: 996
- Registriert: Mittwoch 9. Januar 2008, 13:48
Oder das. Jedenfalls passen Anwendungs- und Softwarekonfiguration nicht zusammen. :-)
Hm...
In der Doku steht
Wie sieht der aus? So?
// Edit
Das müsste ein FastCGI Beispiel sein, was auch läuft auf dem Server.
Wie müsste ich das Script jetzt anpassen damit es mit bottle läuft?
Mich wundert aber auch das ich in def app() nichts ändern bzw hinzufügen kann, ein neues yield mit einem kleinen text scheint nicht zu funktionieren ohne das ein "500 Internal Server Error" kommt.
In der Doku steht
Code: Alles auswählen
# ... add or import your bottle app code here ...
Code: Alles auswählen
import bottle
@bottle.route('/')
def index():
return "Hello World!"
// Edit
Code: Alles auswählen
#!/usr/bin/python
# -*- coding: UTF-8 -*-
from cgi import escape
import sys, os
from flup.server.fcgi import WSGIServer
def app(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/html')])
yield '<h1>FastCGI Environment</h1>'
yield '<table>'
for k, v in sorted(environ.items()):
yield '<tr><th>%s</th><td>%s</td></tr>' % (escape(k), escape(v))
yield '</table>'
WSGIServer(app).run()
Wie müsste ich das Script jetzt anpassen damit es mit bottle läuft?
Mich wundert aber auch das ich in def app() nichts ändern bzw hinzufügen kann, ein neues yield mit einem kleinen text scheint nicht zu funktionieren ohne das ein "500 Internal Server Error" kommt.
Für mod_wsgi
http://bottle.paws.de/page/docs#apache-mod_wsgi
Code: Alles auswählen
import bottle
@bottle.route('/')
def index():
return "Hallo"
application = bottle.default_app()
-
- User
- Beiträge: 996
- Registriert: Mittwoch 9. Januar 2008, 13:48
Nutze mal den bottle-Flup-Server.
Ok, das würde dann so aussehen oder?
In einer .py Datei, richtig?
Code: Alles auswählen
#!/usr/bin/python
import bottle
@bottle.route('/')
def index():
return 'Hello World!'
bottle.run(server=FlupServer)
-
- User
- Beiträge: 996
- Registriert: Mittwoch 9. Januar 2008, 13:48
Ich denke doch. Edit: Die Dateiendung ist doch eigentlich Wurscht, oder? Musst halt nur dem Apache sagen, welchen Port der FCGI-Server hat.
Code: Alles auswählen
#!/usr/bin/python
import bottle
@bottle.route('/')
def index():
return 'Hello World!'
bottle.run(server=bottle.FlupServer, host='python.barfooz.de', port=80)
Mein Admin meinte es liegt daran das bottle einen eigenen Server mit bringt.
-
- User
- Beiträge: 996
- Registriert: Mittwoch 9. Januar 2008, 13:48
Hab ich das eigentlich nur nirgends gefunden, oder hast du noch gar nicht mitgeteilt ob du mod_wsgi oder fcgi nutzt?
Heh, ja sorry fürs Durcheinander. 
Anfangs wollte ich ja CGI verwenden, nur zur Übung um zu sehen wies Funktioniert. Als das geklappt hat wollte ich es mit WSGI probieren, da das aber scheinbar nicht klappt will ich nun FastCGI benutzen.
fcgi sowie mod_wsgi sollen laut Admin möglich sein.
Hat das eigentlich irgendeine Bewandtnis das die CGI Version einmal Funktioniert hat aber nach dem 2ten Aktualisieren nicht mehr?

Anfangs wollte ich ja CGI verwenden, nur zur Übung um zu sehen wies Funktioniert. Als das geklappt hat wollte ich es mit WSGI probieren, da das aber scheinbar nicht klappt will ich nun FastCGI benutzen.
fcgi sowie mod_wsgi sollen laut Admin möglich sein.
Hat das eigentlich irgendeine Bewandtnis das die CGI Version einmal Funktioniert hat aber nach dem 2ten Aktualisieren nicht mehr?
-
- User
- Beiträge: 996
- Registriert: Mittwoch 9. Januar 2008, 13:48
Bestimmt hat sich was an der Konfiguration geändert oder du am Code, das ist ja auch ein ziemliches Chaos hier.
Dann lies dir doch mal ein Tutorial zum Thema bottle über FCGI durch und hau deinen Admin an, dass er die entsprechende Domain/URL an deinen FCGI-Prozess weitereichen soll.
Dann lies dir doch mal ein Tutorial zum Thema bottle über FCGI durch und hau deinen Admin an, dass er die entsprechende Domain/URL an deinen FCGI-Prozess weitereichen soll.
Da das fcgi ohne bottle funktioniert werde ich ohne Framework weiter machen.
Ich danke euch für eure Hilfe, war echt cool so schnell Antworten zu bekommen.
@defnull, auch wenn ich es nicht zum laufen gebracht habe finde ich dein framework gut und es hat mir auch von allen am besten gefallen, sollte ich es irgendwann mal zum laufen bringen lass ich es wissen.
</schleimer>
Ich danke euch für eure Hilfe, war echt cool so schnell Antworten zu bekommen.

@defnull, auch wenn ich es nicht zum laufen gebracht habe finde ich dein framework gut und es hat mir auch von allen am besten gefallen, sollte ich es irgendwann mal zum laufen bringen lass ich es wissen.

- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Weil du alles selber machen musst. Somit baust du dir früher oder später dein eigenes Framework. Kann natürlich auch spaß machen, wir haben ja noch nicht genügend 
Wenn, dann solltest du eine WSGI app machen.
Sollte dir bottle nicht gefallen, dann schau dir doch die anderen mal an: http://wiki.python-forum.de/Web-Frameworks

Wenn, dann solltest du eine WSGI app machen.
Sollte dir bottle nicht gefallen, dann schau dir doch die anderen mal an: http://wiki.python-forum.de/Web-Frameworks
Ja, das ist mir bewusst, klar werde ich das rad nicht neu erfinden aber mein Lerneffekt ist einfach größer.jens hat geschrieben:Weil du alles selber machen musst. Somit baust du dir früher oder später dein eigenes Framework. Kann natürlich auch spaß machen, wir haben ja noch nicht genügend

Scheinbar war ich zu doof dazu, denn ich habe kein gutes Beispiel gefunden.jens hat geschrieben:Wenn, dann solltest du eine WSGI app machen.
Die Liste habe ich schon durch und wie gesagt, bottle gefiel mir ja am besten, schon alleine weil ich es nicht Installieren musste. Weshalb alle anderen auch wegefallen sind.jens hat geschrieben:Sollte dir bottle nicht gefallen, dann schau dir doch die anderen mal an: http://wiki.python-forum.de/Web-Frameworks

Ich schließe auch nicht aus das ich bottle nie nutzen werde. Zum ende des Jahres bekomme ich auch mehr rechte auf dem Server, dann kann ich ihn mir selber anpassen und bekomme bottle dann vielleicht zum laufen.

- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Eigentlich muß man keines der Frameworks "richtig" installieren. Pure Python module müssen nur im Pfad gefunden werden.deadshox hat geschrieben:bottle gefiel mir ja am besten, schon alleine weil ich es nicht Installieren musste. Weshalb alle anderen auch wegefallen sind.![]()
Deswegen kann man auch PyLucid v0.8.x (was Django nutzt) einfach per FTP auf dem Webserver schieben und gut ist. (In der v0.9 nutzten wir z.Z. virtualenv, aber es wird später auch wieder so ein "Standalone Paket" geben).
Aber wenn du einen Lerneffekt haben willst, dann mach alles selber. Aber halte dich damit nicht all zu lange auf, denn weit kommt man so nicht. Es sei den man hat viel, viel Zeit

Warum wirds dann immer so "kompliziert" auf den Doku seiten dargestellt?jens hat geschrieben:Eigentlich muß man keines der Frameworks "richtig" installieren. Pure Python module müssen nur im Pfad gefunden werden.
Deswegen kann man auch PyLucid v0.8.x (was Django nutzt) einfach per FTP auf dem Webserver schieben und gut ist. (In der v0.9 nutzten wir z.Z. virtualenv, aber es wird später auch wieder so ein "Standalone Paket" geben).
Ja, ich werd gucken wie ich voran komme ohne. Mir gehts auch Hauptsächlich um die WSGI sache, da ich z.b. ne Template Engine in PHP schon fertig hab und sie nur noch Portieren muss.jens hat geschrieben:Aber wenn du einen Lerneffekt haben willst, dann mach alles selber. Aber halte dich damit nicht all zu lange auf, denn weit kommt man so nicht. Es sei den man hat viel, viel ZeitSiehe auch: http://www.pylucid.org/permalink/30/ent ... on-pylucid
Ich habe in deinem Link schon was zu WSGI gefunden, das werde ich mal ausprobieren.

- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Weil alle davon ausgehen, das "echte" Programmiere einen Root-Server habendeadshox hat geschrieben:Warum wirds dann immer so "kompliziert" auf den Doku seiten dargestellt?

Deployment bei Python Web Apps ist z.Z. nicht sehr einfach gelöst
