【问题标题】:Launching Jupyter Notebook on localhost results in '[Errno 49] Can't assign requested address', however ip=127.0.0.1 works在 localhost 上启动 Jupyter Notebook 会导致“[Errno 49] 无法分配请求的地址”,但是 ip=127.0.0.1 有效
【发布时间】:2020-06-01 22:32:16
【问题描述】:

尝试启动 Jupyter Notebook 时出现以下错误

$ Jupyter Notebook
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.7/bin/jupyter-notebook", line 11, in <module>
    sys.exit(main())
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/jupyter_core/application.py", line 268, in launch_instance
    return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/traitlets/config/application.py", line 663, in launch_instance
    app.initialize(argv)
  File "</Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/decorator.py:decorator-gen-7>", line 2, in initialize
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/traitlets/config/application.py", line 87, in catch_config_error
    return method(app, *args, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/notebook/notebookapp.py", line 1720, in initialize
    self.init_webapp()
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/notebook/notebookapp.py", line 1482, in init_webapp
    self.http_server.listen(port, self.ip)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/tornado/tcpserver.py", line 151, in listen
    sockets = bind_sockets(port, address=address)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/tornado/netutil.py", line 174, in bind_sockets
    sock.bind(sockaddr)
OSError: [Errno 49] Can't assign requested address

但是,当我指定 127.0.0.1 的 IP 地址(即不是 'localhost')时,Jupyter Notebook --ip=127.0.0.1 它工作得很好。

另外,当我 ping localhost 时,它返回的本地主机实际上是 127.0.0.1。

$ ping localhost
PING localhost.localdomain (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.034 ms

我已经检查了 etc/hosts 和 private/etc/hosts,但都没有指定 localhost(或任何与此相关的内容)。

我正在尝试解决这个问题,因为我在 PyCharm 中运行 Jupyter Notebooks,您无法创建一个简单的快捷方式来仅在 127.0.0.1 副“本地主机”上运行。 (我知道没有简单的快捷方式,如果我错了,请纠正我)我可以在 Pycharm 中的 127.0.0.1 上启动,但它需要多个步骤并且很麻烦。我只是希望它通过其预期的默认配置“localhost”来工作。

【问题讨论】:

  • jupyter notebook --generate-config创建一个配置文件,打开这个文件:~/.jupyter/jupyter_notebook_config.py并编辑/添加NotebookApp.ipUnicode = '127.0.0.1' 这一行
  • 谢谢@jackw11111,这真的很有帮助!我正在更新这个作为答案。仅供参考,我实际上必须添加 c.NotebookApp.ip = '127.0.0.1' 但这让我朝着正确的方向前进!!

标签: macos jupyter-notebook localhost jupyter


【解决方案1】:

答案记入@jackw11111

为你的 jupyter notebook 生成一个配置文件

$ jupyter notebook --generate-config

使用您喜欢的编辑器进入这个新的配置文件

$ nano ~/.jupyter/jupyter_notebook_config.py

将以下行添加到文件中,使其成为默认侦听服务器

c.NotebookApp.ip = '127.0.0.1'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-04
    • 2015-05-26
    • 2023-04-10
    • 1970-01-01
    • 2023-03-11
    • 2017-09-13
    • 2013-11-08
    相关资源
    最近更新 更多