最新的1.7.4 python SDK中的webapp2 2.5.2抛出AssertionError:未设置WSGIApplication全局变量

时间:2012-12-17 14:50:00

标签: google-app-engine

刚刚升级到最新的1.7.4 GAE python SDK,发现核心webapp2 lib是静默的(Release Notes中未提及升级到2.5.2版本。此版本包含backward-incompatible change

在某些情况下,它会阻止应用程序以错误开始,如:

File "/usr/local/src/gae/google_appengine/lib/webapp2/webapp2_extras/jinja2.py", line 209, in get_jinja2
app = app or webapp2.get_app()
File "/usr/local/src/gae/google_appengine/lib/webapp2/webapp2.py", line 1705, in get_app
assert getattr(_local, 'app', None) is not None, _get_app_error
AssertionError: WSGIApplication global variable is not set.

2 个答案:

答案 0 :(得分:1)

来自Fix for webapp2 2.5.2 upgrade in latest 1.7.4 GAE python SDK的修正:

如果您遇到相同的错误,请在应用初始化后恢复above changeset或添加app.set_globals(app=app)之类的内容。

答案 1 :(得分:1)

如果库是静默升级的,那是因为你在app.yaml中使用“latest”作为版本。如果您不想更改版本,请指定版本号。此行为记录在https://developers.google.com/appengine/docs/python/config/appconfig#Configuring_Libraries