1

我正在尝试设置一个 Jupyterhub 实例来为 Google Compute Engine 上的 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 是否在其他地方查找信息,或者在通过我自己的代码绑定套接字时做了不同的事情?

4

1 回答 1

0

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

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

jupyter notebook --ip="*"
于 2015-09-29T16:39:42.570 回答