设置Google App Engine SDK - 应用不运行
按照谷歌的说明设置好Python的Google App Engine SDK后,我在启动器中运行示例的留言簿应用程序,结果在日志中看到以下内容:
2011-02-05 18:32:23 Running command: "[u'C:\\Python25\\pythonw.exe', 'C:\\Program Files\\Google\\google_appengine\\dev_appserver.py', '--admin_console_server=', '-- port=8080', u'C:\\Program Files\\Google\\google_appengine\\demos\\guestbook']"
WARNING 2011-02-06 00:32:24,798 datastore_file_stub.py:573] Could not read datastore data from c:\users\austin\appdata\local\temp\dev_appserver.datastore
Traceback (most recent call last):
File "C:\Program Files\Google\google_appengine\dev_appserver.py", line 52, in <module>
run_file(__file__, globals())
File "C:\Program Files\Google\google_appengine\dev_appserver.py", line 48, in run_file
execfile(script_path, globals_)
File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver_main.py", line 503, in <module>
sys.exit(main(sys.argv))
File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver_main.py", line 480, in main
static_caching=static_caching)
File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 3881, in CreateServer
server = HTTPServerWithScheduler((serve_address, port), handler_class)
File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 3901, in __init__
request_handler_class)
File "C:\Python25\lib\SocketServer.py", line 330, in __init__
self.server_bind()
File "C:\Python25\lib\BaseHTTPServer.py", line 101, in server_bind
SocketServer.TCPServer.server_bind(self)
File "C:\Python25\lib\SocketServer.py", line 341, in server_bind
self.socket.bind(self.server_address)
File "<string>", line 1, in bind
socket.gaierror: (11004, 'getaddrinfo failed')
2011-02-05 18:32:25 (Process exited with code 1)
我该怎么做才能解决这个问题?我对Python完全没有经验。
2 个回答
0
socket.gaierror
是和你的网络有关的错误。你是不是在用你电脑的主机名,但它没有正确指向 127.0.0.1 呢?在应用启动器(这个功能只有在 Windows 上有)里,你有没有看到可以设置运行地址的地方?如果有的话,你可以直接用 localhost 或者 IP 地址(像 127.0.0.1)。另外,确保默认的 8080 端口没有被你的防火墙阻挡,也没有被其他程序占用。
2
试试换个端口:
- 在 Google App Engine 启动器中,点击一下你的应用
- 在菜单中选择
编辑
|应用设置
- 把端口号从
8080
改成8888
之类的
如果你想知道哪个程序在使用某个端口,可以在管理员命令提示符下运行 netstat -a -b
。
这可能也是一个相关的问题:如何修复 GAE 中的 socket.gaierror: (11004, 'getaddrinfo failed') 错误?