WSL2中Jupyter Notebook无法在浏览器运行且无法获取启动token的问题求助
WSL2中Jupyter Notebook无法在浏览器运行且无法获取启动token的问题求助
嘿,我完全懂你现在的困扰——在WSL2里好不容易装好了Jupyter Notebook,结果启动时既没输出登录用的token,也没显示可访问的IP地址,根本没法在浏览器里打开是吧?别慌,咱们一步步来解决这个问题,顺便看看有没有漏装的必要依赖~
先解决token缺失的问题
- 最省心的办法是设置登录密码替代token,在WSL终端里输入:
跟着提示设置好密码后,下次启动Jupyter就不用纠结token了,直接用密码登录就行。jupyter notebook password - 要是你还是想找回token,可以试试在终端输入:
这个命令会列出当前运行的Jupyter服务,里面可能包含token信息。jupyter notebook list
让Windows浏览器能访问WSL里的Jupyter
- 启动Jupyter的时候,一定要加上绑定所有网络接口的参数,这样WSL里的服务才能被Windows识别到:
这里jupyter notebook --ip=0.0.0.0 --no-browser--no-browser是让WSL不要尝试在Linux环境里打开浏览器,毕竟咱们要在Windows的浏览器里访问。 - 接着获取WSL2的IP地址,在终端输入:
把得到的IP复制下来,在Windows浏览器里输入hostname -Ihttp://[你的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




