Python Udacity CS253使用GAE,处理程序错误
我遇到了路障。碰巧,另一名学生艾哈迈德同时也遇到了类似的路障。到目前为止,我们还没有从Udacity论坛得到答案,所以我想我会在这里转贴,希望尽快得到帮助。问题出现在这里:。(如果您未登录,该链接可能无法工作) 到目前为止,我们两人都做对了,并取得了进展,但从现在起,一切都停止了,我们都被难住了。这是我给艾哈迈德的最后一篇帖子: 我在Word中比较了你的日志和我的日志。当您去掉诸如时间、字体和文件路径之类的东西时,会有一些区别。我们都得到了: 警告api_server.py:331]无法初始化图像api;您可能缺少Python“PIL”模块 及 错误wsgi.py:262] 我们的追踪结果几乎相同 回溯(最近一次呼叫最后一次): 文件“C:\Program Files\(x86)\Google\Google\U appengine\Google\appengine\runtime\wsgi.py”,第239行,位于句柄中 handler=\u config\u handle.add\u wsgi\u中间件(self.\u LoadHandler()) LoadHandler中的文件“C:\Program Files\(x86)\Google\Google\U appengine\Google\appengine\runtime\wsgi.py”,第298行 处理程序,路径,err=LoadObject(self.\u处理程序) LoadObject中第84行的文件“C:\Program Files\(x86)\Google\Google\U appengine\Google\appengine\runtime\wsgi.py” obj=导入(路径[0]) 但我们有不同形式的行为Python Udacity CS253使用GAE,处理程序错误,python,google-app-engine,python-2.7,python-imaging-library,httphandler,Python,Google App Engine,Python 2.7,Python Imaging Library,Httphandler,我遇到了路障。碰巧,另一名学生艾哈迈德同时也遇到了类似的路障。到目前为止,我们还没有从Udacity论坛得到答案,所以我想我会在这里转贴,希望尽快得到帮助。问题出现在这里:。(如果您未登录,该链接可能无法工作) 到目前为止,我们两人都做对了,并取得了进展,但从现在起,一切都停止了,我们都被难住了。这是我给艾哈迈德的最后一篇帖子: 我在Word中比较了你的日志和我的日志。当您去掉诸如时间、字体和文件路径之类的东西时,会有一些区别。我们都得到了: 警告api_server.py:331]无法初始化图
(/
我有一件事你没有
警告2013-12-09 18:18:41795 simple_search_stub.py:1018]无法从c:\users\appdata\local\temp\appengine.udacity7676\search_indexes读取搜索索引
那么我们该怎么办呢?我不知道,但我确实有很多问题希望有人能回答:
MainHandler
,他们有MainPage
,我注意到了这一点
以前,但我不认为这有什么意义。另外,我的来了
用这个名字,我没有创造它out
,如self.response.out.write(form)
。这不在我的默认文件中。我只有self.response.write(form)
(/
看起来不对。它应该是
对于GAE来说,PIL
库根本不是必需的(至少在您的情况下)。因此,它只是一个警告,您可以忽略它。(它与您的错误无关)
如果您在最后的应用程序
声明中使用了正确的处理程序类
,则用主页
替换的主处理程序
一点也不成问题
app = webapp2.WSGIApplication([('/', MainPage),
('/testform', TestHandler)],
debug=True)
此外,间距并不重要,但放置三重引号字符串的块很重要
form =
"""
<form action="/testform">
<input name="q"> <input type="submit">
</form>
"""
虽然它应该是
app = webapp2.WSGIApplication([('/', MainPage), # <-- comma at the end of line
('/testform', TestHandler)], # <-- comma before hash
debug=True)
app=webapp2.WSGIApplication([('/',主页),#
INFO 2013-12-15 21:18:40151模块。py:617]默认值:“获取/
HTTP/1.1“500-
信息2013-12-15 21:18:40190模块。py:617]默认值:“获取
/favicon.ico HTTP/1.1“304-
错误2013-12-16 03:18:48500 wsgi.py:262]
回溯(最近一次呼叫最后一次):
文件“C:\…\appengine\runtime\wsgi.py”,第239行,在句柄中
handler=\u config\u handle.add\u wsgi\u中间件(self.\u LoadHandler())
文件“C:\…\appengine\runtime\wsgi.py”,第298行,在加载处理程序中
处理程序,路径,err=LoadObject(self.\u处理程序)
LoadObject中第84行的文件“C:\…\appengine\runtime\wsgi.py”
obj=\uuuuuuuuuuuuuu导入(路径[0])
文件“C:\…\udacity7676\main.py”,第18行,在
('/testform',TestHandler)],
TypeError:“tuple”对象不可调用
信息2013-12-15 21:18:48512模块。py:617]默认值:“获取/
HTTP/1.1“500-
我猜处理程序的名称不一致,这就是问题所在,但我宁愿在盲目前进之前得到你的反馈。我也猜元组是不可调用的,因为同样的原因。但是我想不起任何修改wsgi.py
的指令。我还想favicon错误会出现在这个PIL问题上。Ashish Nitin Patil的回答涵盖了其余几点,但为了完整性起见,self.response.out是self.response的别名(它只返回自身),以便与以前版本的framewo兼容
app = webapp2.WSGIApplication([('/', MainPage)
('/testform', TestHandler)]
debug=True)
app = webapp2.WSGIApplication([('/', MainPage), # <-- comma at the end of line
('/testform', TestHandler)], # <-- comma before hash
debug=True)
INFO 2013-12-15 21:18:40,151 module.py:617] default: "GET /
HTTP/1.1" 500 -
INFO 2013-12-15 21:18:40,190 module.py:617] default: "GET
/favicon.ico HTTP/1.1" 304 -
ERROR 2013-12-16 03:18:48,500 wsgi.py:262]
Traceback (most recent call last):
File "C:\...\appengine\runtime\wsgi.py", line 239, in Handle
handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
File "C:\...\appengine\runtime\wsgi.py", line 298, in _LoadHandler
handler, path, err = LoadObject(self._handler)
File "C:\...\appengine\runtime\wsgi.py", line 84, in LoadObject
obj = __import__(path[0])
File "C:\...\udacity7676\main.py", line 18, in <module>
('/testform', TestHandler)],
TypeError: 'tuple' object is not callable
INFO 2013-12-15 21:18:48,512 module.py:617] default: "GET /
HTTP/1.1" 500 -