Bottle in Verbindung mit Google Appengine
Verfasst: Sonntag 1. November 2009, 12:16
Ich habe Startschwierigkeiten mit Googles Appengine, wenn ich ihr Bottle als WSGI-kompatible Klasse übergebe. Ich hab's doch richtig verstanden (bin neu in dem Bereich), dass ich Bottle-Syntax verwenden kann, oder? Demnach müsste doch das gehen:
Doch ich erhalte eine Fehlermeldung:
Bottle selbst ist über `easy_install` installiert und kann demnach eigentlich aus jedem beliebigen Verzeichnis importiert werden. Deshalb verstehe ich die Meldung nicht. Das Ganze läuft natürlich noch nicht über Google, sondern bei mir lokal auf Port 8080.
EDIT: Also doch. Den Grund verstehe ich an sich schon. Es ist offenbar in dem Kontext (Dictionary) von `script_module` kein `bottle` vorhanden. Die Frage ist nur, wie man das behebt, möglichst ohne im Code von Google zu pfuschen.
Code: Alles auswählen
from bottle import default_app, route
from google.appengine.ext.webapp.util import run_wsgi_app
@route('/')
def hello():
return 'Hello world'
if __name__ == '__main__':
run_wsgi_app(default_app())
Code: Alles auswählen
ERROR 2009-11-01 11:17:48,897 dev_appserver.py:3009] Exception encountered handling request
Traceback (most recent call last):
File "/home/seblin/google_appengine/google/appengine/tools/dev_appserver.py", line 2978, in _HandleRequest
base_env_dict=env_dict)
File "/home/seblin/google_appengine/google/appengine/tools/dev_appserver.py", line 411, in Dispatch
base_env_dict=base_env_dict)
File "/home/seblin/google_appengine/google/appengine/tools/dev_appserver.py", line 2244, in Dispatch
self._module_dict)
File "/home/seblin/google_appengine/google/appengine/tools/dev_appserver.py", line 2162, in ExecuteCGI
reset_modules = exec_script(handler_path, cgi_path, hook)
File "/home/seblin/google_appengine/google/appengine/tools/dev_appserver.py", line 2058, in ExecuteOrImportScript
exec module_code in script_module.__dict__
File "/home/seblin/google_appengine/helloworld/helloworld.py", line 1, in <module>
from bottle import default_app, route
ImportError: No module named bottle
EDIT: Also doch. Den Grund verstehe ich an sich schon. Es ist offenbar in dem Kontext (Dictionary) von `script_module` kein `bottle` vorhanden. Die Frage ist nur, wie man das behebt, möglichst ohne im Code von Google zu pfuschen.