有人能帮我在 Ubuntu 上使用带有 ipv6 的 Jupyter Lab 吗?我到处搜索,但找不到答案。
我两种方法都试过了,
jupyter lab --ip=::1
还是jupyter lab --ip=MY_IPV6
不行。
当我连接到 [::1]:8888 和 [MY_IPV6]:8888 Google Chrome 时显示“ERR_CONNECTION_REFUSED”
我可以 ping [::1],也可以 ping MY_IPV6
我可以确保 jupyter lab 可以使用 127.0.0.1:8888 的 ipv4 正常工作,或者使用端口转发,一切正常。
也许,Jupyter Lab 不支持 ipv6?
更新:Jupyter Lab 的 ipv6 在 Windows 上可以工作,但在 Ubuntu 上却不行。我是不是漏掉了什么?
答案1
在 Ubuntu 上不行,但在 Windows 上我可以直接按照运行笔记本服务器的说明然后使用jupyter-notebook --ip='*' --no-browser
IPv6 地址进行访问。
答案2
更新!
不再有任何缺点,我只是发现您只需使用::
该 IP 即可。
简单的!
解决了!
最后,我找到了办法。由于命令jupyter lab --ip=MY_IPV6
不起作用,所以我猜更改配置不会有任何作用,但实际上你需要做的是更改 jupyter 配置,具体步骤如下。
1. 生成配置
$ jupyter notebook --generate-config
将默认配置写入:/home/zen3515/.jupyter/jupyter_notebook_config.py
2. 编辑配置
$ gedit /home/zen3515/.jupyter/jupyter_notebook_config.py
将以下几行添加到配置中
c.NotebookApp.ip = '::'
c.NotebookApp.allow_origin = '*'
c.NotebookApp.disable_check_xsrf = True
说明
c.NotebookApp.ip = 'xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx' <--- listen to your ipv6
c.NotebookApp.allow_origin = '*' <--- connect from different host
c.NotebookApp.disable_check_xsrf = True <--- CORS's thing
3.启动JupyterLab
$ jupyter lab --no-browser
4. 使用以下格式的 ipv6 从任何地方进行连接
[xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx]:8888
此方法的唯一缺点是您必须仅使用 ipv6 进行连接。您不能使用“0.0.0.0”或“localhost”或“127.0.0.1”或“::1”,但如果您愿意,我想您可以编辑 hosts 文件。