本地开发服务器的谷歌应用引擎没有终端输出?

时间:2012-06-09 17:11:05

标签: python google-app-engine

我一直在使用谷歌应用程序引擎使用python 2.7,ubuntu 12.04和webapp2框架进行Web应用程序开发。

由于某些奇怪的原因,当我在本地开发服务器上运行应用程序时,我无法再查看我的http响应或查看以前使用过的终端上的错误。我不知道怎么会这样。

当使用我的终端使用dev_server.py命令运行new时,如下所示,

ahmad@ubuntu:~/GAE$ python google_appengine/dev_appserver.py wiki

我收到正在使用套接字的错误。我记得当我运行一个应用程序时,我必须单击ctrl + c来杀死它并重新运行另一个..现在它似乎在后台运行,如果我尝试运行一个不同的应用程序我得到一个声明,套接字正在二手...

这是tyring在本地开发服务器上运行diff应用程序的确切错误,

ahmad@ubuntu:~/GAE$ python google_appengine/dev_appserver.py wiki
WARNING  2012-06-09 17:04:25,981 rdbms_mysqldb.py:74] The rdbms API is not available because the MySQLdb library could not be loaded.
INFO     2012-06-09 17:04:26,022 appengine_rpc.py:160] Server: appengine.google.com
INFO     2012-06-09 17:04:26,024 appcfg.py:582] Checking for updates to the SDK.
INFO     2012-06-09 17:04:26,221 appcfg.py:600] The SDK is up to date.
WARNING  2012-06-09 17:04:26,221 datastore_file_stub.py:518] Could not read datastore data from /tmp/dev_appserver.datastore
Traceback (most recent call last):
  File "google_appengine/dev_appserver.py", line 125, in <module>
    run_file(__file__, globals())
  File "google_appengine/dev_appserver.py", line 121, in run_file
    execfile(script_path, globals_)
  File "/home/ahmad/GAE/google_appengine/google/appengine/tools/dev_appserver_main.py", line 690, in <module>
    sys.exit(main(sys.argv))
  File "/home/ahmad/GAE/google_appengine/google/appengine/tools/dev_appserver_main.py", line 653, in main
    persist_logs=persist_logs)
  File "/home/ahmad/GAE/google_appengine/google/appengine/tools/dev_appserver.py", line 3595, in CreateServer
    server = HTTPServerWithScheduler((serve_address, port), handler_class)
  File "/home/ahmad/GAE/google_appengine/google/appengine/tools/dev_appserver.py", line 3623, in __init__
    request_handler_class)
  File "/usr/lib/python2.7/SocketServer.py", line 408, in __init__
    self.server_bind()
  File "/usr/lib/python2.7/BaseHTTPServer.py", line 108, in server_bind
    SocketServer.TCPServer.server_bind(self)
  File "/usr/lib/python2.7/SocketServer.py", line 419, in server_bind
    self.socket.bind(self.server_address)
  File "/usr/lib/python2.7/socket.py", line 224, in meth
    return getattr(self._sock,name)(*args)
socket.error: [Errno 98] Address already in use
INFO     2012-06-09 17:04:26,322 datastore_stub_util.py:2410] Applying all pending transactions and saving the datastore

感谢您提前提供任何帮助

3 个答案:

答案 0 :(得分:3)

“已在使用的地址”看起来该端口已被其他进程使用。

答案 1 :(得分:1)

尝试找到挂在您端口上的进程。如果您使用类似ps aux的内容,则可能会立即识别僵尸应用程序实例。如果没有,则有examples available来确定哪个进程正在使用端口。你可能需要kill -9

如果它应该被使用,请使用-p PORT参数在不同的端口上启动dev_appserver。

答案 2 :(得分:0)

如果您尝试同时运行两个应用程序(通过使用两个dev_appserver实例),您将需要告诉其中一个使用不同的端口。通过一个例子,在Running the Development Web Server中描述了它。

在Ubuntu上按Ctrl-C一个dev_appserver不应该让它在后台运行。 (Ctrl-Z可能)。