谷歌计算引擎上的Jupyterhub



我正在尝试设置一个Jupyterhub实例,以便在Google计算引擎上为IPython笔记本提供服务。但是,当运行jupyterhub时,我遇到了一个关于套接字的错误:

[E 2015-08-31 10:27:55.617 JupyterHub app:1097]
    Traceback (most recent call last):
  File "/home/esten/anaconda3/envs/py3k/lib/python3.3/site-    packages/jupyterhub/app.py", line 1095, in launch_instance_async
    yield self.start()
  File "/home/esten/anaconda3/envs/py3k/lib/python3.3/site-packages/jupyterhub/app.py", line 1027, in start
    self.http_server.listen(self.hub_port, address=self.hub_ip)
  File "/home/esten/anaconda3/envs/py3k/lib/python3.3/site-packages/tornado/tcpserver.py", line 126, in listen
    sockets = bind_sockets(port, address=address)
  File "/home/esten/anaconda3/envs/py3k/lib/python3.3/site-packages/tornado/netutil.py", line 187, in bind_sockets
    sock.bind(sockaddr)
OSError: [Errno 99] Cannot assign requested address

配置文件分配的地址/端口是localhost/8081,像下面这样绑定套接字效果很好

import socket
s = socket.socket()
s.bind(("localhost", 8081))

jupyterhub是否在其他地方查找信息,或者通过我自己的代码绑定套接字时是否做了不同的事情?

这似乎是GCE不支持ipv6的问题。我发现这个链接解释了启用ipv6解决了另一台机器上的问题。

使用——ip运行解决了这个问题:

jupyter notebook --ip="*"