【问题标题】:No error stack trace being displayed with Python 2.7 on GAE在 GAE 上使用 Python 2.7 没有显示错误堆栈跟踪
【发布时间】:2012-08-15 12:37:09
【问题描述】:

我最近在 Google App Engine 上开发 Web 应用程序时从 Python 运行时版本 2.5 切换到 2.7,我注意到在许多情况下,当脚本遇到错误时,堆栈跟踪不再显示。对于运行时 Python 2.5,这是浏览器中的堆栈跟踪:

(右上角的 Python 2.7.2 是因为我的机器上安装了那个版本的 python。)将运行时更改为 python27 对相同错误的回溯执行此操作:

不过,2.7 运行时运行良好,而且我还可以使用 2.7 特定的库。我注意到导致此行为的 python 代码中的错误与运行时版本的功能无关。我认为这至少发生在 python 脚本中的错误 GQL 语法,但也有其他错误。

目前,每当我得到第二张图片时,我都会恢复到 2.5,解决问题,然后再回到 2.7,但很快这将不可能,因为我的大部分代码都依赖于 2.7 功能。 那么如何让 Python 2.5 的详细错误回溯也显示在 2.7 运行时上?

【问题讨论】:

  • 你总是可以捕捉到错误然后打印出来(非常糟糕的主意 - 但是嘿....生活并不完美)
  • traceback 会打印到日志中(在开发服务器上,这是服务器进程的标准输出)

标签: python google-app-engine python-2.7 stack-trace python-2.5


【解决方案1】:

看来 SDK 存在未解决的问题:http://code.google.com/p/webapp-improved/issues/detail?id=34

但是,根据最后的评论,似乎该更改尚未合并到最新版本中。在我的机器上进行测试(使用 SDK 1.7.0.129 的 OSX),行为与上述和问题的评论 4 中描述的相同。

如果 GAE 团队的某个人能对此发表意见,那就太好了。

【讨论】:

  • 行为似乎有所不同 - 如果应用程序引发未捕获的异常,则会显示堆栈跟踪。如果你错过了你试图调用的包之类的东西,你只会得到 Error500...
猜你喜欢
  • 2011-08-12
  • 2016-01-28
  • 1970-01-01
  • 2018-09-19
  • 1970-01-01
  • 2013-09-20
  • 1970-01-01
  • 2014-04-29
  • 1970-01-01
相关资源
最近更新 更多