Jupyter Notebook显示connecting to kernel无法连接内核问题求助
问题根因
从报错栈可以明确,内核启动失败的核心原因是Python模块命名冲突:
- Python标准库自带
code模块,被Jupyter依赖的pdb调试模块调用导入 - 你的下载目录(/Users/mac/Downloads/)下存在自定义的
code.py文件,Python导入模块时优先加载路径优先级更高的同名文件,没有导入标准库的code模块,而是加载了这个自定义文件 - 自定义
code.py运行到第39行时,尝试读取不存在的input目录,抛出异常导致内核启动中断
解决方案
- 重命名/移除冲突文件:进入
/Users/mac/Downloads/目录,把自定义的code.py文件重命名为其他不与标准库冲突的名称(比如my_code.py),同时删除同目录下如果存在的code.pyc、__pycache__文件夹中和code相关的缓存文件 - 重启Jupyter Notebook服务:完全关闭当前运行的Jupyter进程,重新启动后即可正常连接内核
可选验证步骤
冲突解决后可执行以下命令确认导入正常:
conda activate 你使用的conda环境名 python -c "import code; print(code.__file__)"
如果输出为Anaconda安装目录下的标准库code.py路径,而非你自定义的文件路径,说明冲突已经完全解决。
内容的提问来源于stack exchange,提问作者Shashank Kirtania
相关产品推荐
相关产品推荐

