You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

WSL2中Jupyter Notebook无法在浏览器运行且无法获取启动token的问题求助

WSL2中Jupyter Notebook无法在浏览器运行且无法获取启动token的问题求助

嘿,我完全懂你现在的困扰——在WSL2里好不容易装好了Jupyter Notebook,结果启动时既没输出登录用的token,也没显示可访问的IP地址,根本没法在浏览器里打开是吧?别慌,咱们一步步来解决这个问题,顺便看看有没有漏装的必要依赖~

先解决token缺失的问题

  • 最省心的办法是设置登录密码替代token,在WSL终端里输入:
    jupyter notebook password
    
    跟着提示设置好密码后,下次启动Jupyter就不用纠结token了,直接用密码登录就行。
  • 要是你还是想找回token,可以试试在终端输入:
    jupyter notebook list
    
    这个命令会列出当前运行的Jupyter服务,里面可能包含token信息。

让Windows浏览器能访问WSL里的Jupyter

  • 启动Jupyter的时候,一定要加上绑定所有网络接口的参数,这样WSL里的服务才能被Windows识别到:
    jupyter notebook --ip=0.0.0.0 --no-browser
    
    这里--no-browser是让WSL不要尝试在Linux环境里打开浏览器,毕竟咱们要在Windows的浏览器里访问。
  • 接着获取WSL2的IP地址,在终端输入:
    hostname -I
    
    把得到的IP复制下来,在Windows浏览器里输入http://[你的WSL2IP]:8888,然后用之前设置的密码登录就可以了。

可能漏装的辅助库检查

  • 首先确认ipykernel有没有安装,这是Jupyter和Python内核交互的核心依赖,没装的话会导致服务异常:
    pip install ipykernel
    
  • 如果你是在虚拟环境里使用Jupyter,记得把虚拟环境的内核添加到Jupyter的可用列表里,不然Jupyter可能找不到对应的Python环境:
    python -m ipykernel install --user --name=你的虚拟环境名称
    

额外排查小技巧

  • 试试临时关闭WSL里的防火墙(比如输入sudo ufw disable),如果能访问了,再去配置规则开放8888端口就行。
  • 也可以检查下Windows的防火墙设置,看看有没有阻止WSL的网络请求,临时关闭测试一下也能快速定位问题。

备注:内容来源于stack exchange,提问作者user24195141

火山引擎 最新活动