jupyter notebook:为服务器访问指定 IP 时出错

jupyter notebook: error when specifying IP for server access

当我运行

jupyter notebook --ip=172.17.67.24

在cmd下windows7 professional出现如下错误

C:\Users\nhs>jupyter notebook --ip=172.17.67.24
Traceback (most recent call last):
  File "C:\ProgramData\Anaconda3\Scripts\jupyter-notebook-script.py", line 10, in <module>
    sys.exit(main())
  File "C:\ProgramData\Anaconda3\lib\site-packages\jupyter_core\application.py", line 267, in launch_instance
    return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
  File "C:\ProgramData\Anaconda3\lib\site-packages\traitlets\config\application.py", line 657, in launch_instance
    app.initialize(argv)
  File "<decorator-gen-7>", line 2, in initialize
  File "C:\ProgramData\Anaconda3\lib\site-packages\traitlets\config\application.py", line 87, in catch_config_error
    return method(app, *args, **kwargs)
  File "C:\ProgramData\Anaconda3\lib\site-packages\notebook\notebookapp.py", line 1296, in initialize
    self.init_webapp()
  File "C:\ProgramData\Anaconda3\lib\site-packages\notebook\notebookapp.py", line 1120, in init_webapp
    self.http_server.listen(port, self.ip)
  File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\tcpserver.py", line 142, in listen
    sockets = bind_sockets(port, address=address)
  File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\netutil.py", line 197, in bind_sockets
    sock.bind(sockaddr)
OSError: [WinError 10049] The requested address is not valid in its context

jupyter 版本是:

jupyter 1.0.0

jupyter_client 5.1.0

jupyter_console 5.2.0

jupyter_core 4.3.0

jupyterlab 0.27.0

jupyterlab_launcher 0.4.0

如果我使用“*”作为 ip,一切正常,但由于安全问题我不想使用该选项。如果我在配置文件中指定 ip,它也不起作用。

知道为什么这不起作用吗?

遗憾的是,无法指定允许访问您的笔记本的 IP 列表。

我建议改为使用身份验证令牌。这样,您可以使用 ip = '*' 启动 jupyter notebook 服务器,然后将令牌交给您的同事而不是其他人。

有关详细信息,请参阅此 link: http://jupyter-notebook.readthedocs.io/en/stable/security.html

在我的例子中,我不得不 运行 Powershell/CMD/Terminal 作为管理员,这个错误神秘地消失了。

希望对大家有所帮助。