WSL(Ubuntu)中运行Jupyter Notebook出现文件找不到错误求解决建议
WSL Ubuntu下Jupyter Notebook启动报错的解决思路
先给你还原下你碰到的错误情况:
Start : 由于出现以下错误,无法运行此命令: 系统找不到指定的文件。
At line:1 char:1
Start "file:///home/purit/.local/share/jupyter/runtime/nbserver-26-op ...
- CategoryInfo : InvalidOperation: (:) [Start-Process], InvalidOperationException
- FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand
这个问题本质是WSL里的Jupyter尝试调用Windows的浏览器,但跨系统的路径解析出了问题,或者默认的启动方式没适配WSL环境。给你几个亲测有效的解决办法:
方法一:启动时临时禁用自动打开浏览器
- 直接在启动命令里加上参数,不让Jupyter自动弹浏览器:
jupyter notebook --no-browser - 启动后会输出类似
http://localhost:8888/?token=xxxxxx的链接,把这个复制到Windows的Edge、Chrome等浏览器里就能正常访问了。
方法二:修改配置文件,永久禁用自动打开
- 先生成Jupyter配置文件(如果还没生成过):
jupyter notebook --generate-config - 打开生成的配置文件(路径一般是
~/.jupyter/jupyter_notebook_config.py),找到c.NotebookApp.open_browser这一行,去掉前面的注释符号#,然后改成:c.NotebookApp.open_browser = False - 之后再启动Jupyter就不会自动调用浏览器了,每次启动后复制输出的链接到Windows浏览器即可。
方法三:配置Jupyter调用WSL内的浏览器(可选)
如果你更习惯用WSL里的Linux浏览器,可以这么操作:
- 先安装浏览器,比如Firefox:
sudo apt update && sudo apt install firefox - 打开Jupyter配置文件,找到
c.NotebookApp.browser相关的内容,替换成以下代码:import webbrowser c.NotebookApp.browser = 'firefox' webbrowser.register('firefox', None, webbrowser.GenericBrowser('/usr/bin/firefox')) - 保存配置后,启动Jupyter就会自动打开WSL里的Firefox浏览器了。
内容的提问来源于stack exchange,提问作者Cheolsoon Im




