启动Jupyter Lab时出现无法获取内核的错误

0 投票
1 回答
164 浏览
提问于 2025-04-14 18:32

我觉得这个问题可能很简单,因为这是个常见的问题,但不知为什么,我在StackOverflow上找到的解决方案对我都没用(可能是我理解错了)。我用的是Windows 10,一直都是通过Powershell终端输入$ jupyter lab来启动jupyter lab。最近我把Python从3.10.?更新到了3.12.2,并且按照StackOverflow上的一个帖子,手动输入了每个核心包的名字,使用$ pip install --upgrade IPython ipykernel ipywidgets jupyter_client jupyter_core jupyter_server jupyterlab nbclient nbconvert nbformat notebook qtconsole traitlets来更新jupyter。

无论我怎么做,每次打开jupyter lab时,都会出现两个警告:

  • "启动内核时出错,无法获取"

  • "服务器连接错误,无法建立与Jupyter服务器的连接。JupyterLab将继续尝试重新连接。请检查你的网络连接或Jupyter服务器配置。"

不过我记得,jupyter lab在更新之前就已经这样了。可用的内核只有一个,显示为"Python 3 (ipykernel)"。jupyter notebook也出现了同样的警告弹窗。

我尝试过输入$ jupyter kernelspec list,打开kernel.json文件,并输入我想要的路径;它存储在python3 C:\Users\M S\AppData\Local\Programs\Python\Python310\share\jupyter\kernels\python3,我为argv输入的路径是"C:\\Users\\M S\\AppData\\Local\\Programs\\Python\\Python312\\python.exe"。但这没有任何改变,所以我又把argv改回原来的,只是"python"

我在终端尝试了以下几行命令:

  • python -m venv \AppData\Local\Programs\Python\Python312
  • python -m pip install ipykernel
  • python -m ipykernel install --name python3.12.2kernel --display-name "Python 3.12.2 (ipykernel)" --user,然后尝试从这个内核启动。

我还尝试进入.jupyter\lab\workspaces,删除最近的默认工作空间。

我尝试卸载旧版Python,卸载jupyter,然后只重新安装jupyterlab。

我还尝试清除浏览器缓存。

我已经有一年多没碰过Python或jupyter了,对这个语言也不太熟悉。我还是个菜鸟,如果需要其他信息来解决这个问题,请告诉我。如果答案在别的地方有,我会删掉这个帖子。谢谢你们的阅读。

1 个回答

0

我在这里找到了我问题的答案,链接是这里。我仔细观察了一下当我尝试运行jupyter lab时,Powershell输出的信息。在启动jupyter lab之前,它最后输出了Bad address (C:\projects\libzmq\src\epoll.cpp:100),这显然和我安装的一个修改了默认winsock设置的VPN软件有关。

我以管理员身份运行了netsh winsock reset,然后重启了我的电脑,现在jupyter lab可以正常工作了。

撰写回答