GAE更新问题

时间:2011-01-19 14:02:58

标签: google-app-engine

我有一个奇怪的问题。 我想要做的是将我的GAE版本从1.3.5更新到1.4.1 / 1.4.0。 安装后,我想运行dev_appserver。 但是有一个错误:

ERROR    2011-01-19 21:50:11,262 dev_appserver.py:3214] Exception encountered handling request
Traceback (most recent call last):
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 3184, in _HandleRequest
    response = RewriteResponse(outfile, self.rewriter_chain)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 2882, in RewriteResponse
    response_rewriter(response)
TypeError: DownloadRewriter() takes exactly 2 arguments (1 given)

注意:我没有更改我的代码,它在GAE 1.3.5上运行良好 谢谢你的回答。

2 个答案:

答案 0 :(得分:2)

问题已经解决了。 我们在“不同文件夹”再次重新安装了gae “不同文件夹”是关键。 如果您在默认(相同)文件夹(c:\ program files \ google \ google_appengine)中卸载gae,则问题仍然存在。

所以我们将它安装在c:\ program files \ goole \ google_appending_x(x表示任何单词)。 然后它可以工作。

答案 1 :(得分:0)

问题解决了。

我在上面重新安装GAE 3.5时发现了。我的C:\ Program Files \ Google \ google_appengine \ google \ appengine \ tools \ dev_appserver.py

第2887行:def RewriteResponse代码不正确。 正确的版本是:

def RewriteResponse(response_file,
                response_rewriters=None,
                request_headers=None):
  if response_rewriters is None:
    response_rewriters = CreateResponseRewritersChain()

  response = AppServerResponse(response_file)
  for response_rewriter in response_rewriters:
    if response_rewriter.func_code.co_argcount == 1:
      response_rewriter(response)
    else:
      response_rewriter(response, request_headers)

  return response

但我的版本是

def RewriteResponse(response_file,
                    response_rewriters=None,
                    request_headers=None):
  if response_rewriters is None:
    response_rewriters = CreateResponseRewritersChain()

  response = AppServerResponse(response_file)
  for response_rewriter in response_rewriters:
    response_rewriter(response)

  return response

没有if-else。 因此解决方案是在c:\ Program files \ Google \ google_appengine_x ....安装GAE .... 不在默认文件夹中。 那就是对的。 ^^