设置Google App Engine SDK - 应用不运行

1 投票
2 回答
917 浏览
提问于 2025-04-16 11:18

按照谷歌的说明设置好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

试试换个端口:

  1. 在 Google App Engine 启动器中,点击一下你的应用
  2. 在菜单中选择 编辑 | 应用设置
  3. 把端口号从 8080 改成 8888 之类的

设置截图

如果你想知道哪个程序在使用某个端口,可以在管理员命令提示符下运行 netstat -a -b

这可能也是一个相关的问题:如何修复 GAE 中的 socket.gaierror: (11004, 'getaddrinfo failed') 错误?

撰写回答