我正在尝试将我在本地运行的应用移植到GAE。该应用程序使用Bottle.py框架。我使用Beaker进行会话管理。我有点像菜鸟,并且无法正确进口Beaker。非常感谢。
我在Mac OS X 10.6.7下使用GoogleAppEngineLauncher.app运行移植的应用程序。这会在我的计算机上的模拟环境中运行应用程序,而不是在Google的服务器上运行。
对于我的GAE端口,我将Bottle.py放入名为“framework”的目录中。此目录有一个空的__init__.py
文件。瓶子工作正常,可以服务'你好世界'。
Beaker存在于我的app(日志/烧杯)根目录中的自己的目录中。 Beaker还有一个空的__init__.py
。
相关代码:
from framework import bottle
from beaker import SessionMiddleware
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
@bottle.route('/')
def index():
return "hello, world"
def main():
bottle.debug(True)
run_wsgi_app(bottle.default_app())
if __name__ == '__main__':
main()
我收到如下错误消息:
File "/Users/mscantland/code/journal/main.py", line 19, in <module>
from beaker import SessionMiddleware
ImportError: cannot import name SessionMiddleware
到目前为止,我试图让这项工作成功:
检查/ beaker中所有内容的权限,以确保它们是可执行的。
按原样烧杯并重新编写所有导入语句,以便:
来自beaker.x import y
成为:
from x import y
答案 0 :(得分:0)
SessionMiddleware位于middleware.py中。尝试:
from beaker.middleware import SessionMiddleware
答案 1 :(得分:0)
我通过使用webapp和Google的用户服务重新解决问题来回答我的问题,该服务有更好的文档来处理GAE。