Jupyter Notebook出现kernel error或者kernel starting please wait解决/处理方法
作者手贱把pywin32从223版本更新到了227版本,导致227版本与anaconda不兼容,使得kernel一直处于kernel error状态,最后不得已甚至重装了好几次anaconda,都没有解决问题,只是kernel error状态变成了kernel starting please wait。经过查阅发现,kernel卡在starting是由于内核调用时产生了问题。最后得出了以下解决方案。
解决方案
1、检测内核路径
打开Anaconda Prompt
,输入jupyter kernelspec list
如下:
(base) C:\Users\admin>jupyter kernelspec list
Available kernels:
python3 C:\Users\admin\AppData\Roaming\jupyter\kernels\python3
可以发现内核文件路径为C:\Users\admin\AppData\Roaming\jupyter\kernels\python3
2、检查kernel内核文件
打开路径下的kernel.json
文件
正确的路径应为Anaconda3安装目录下的python.exe文件,作者将Anaconda装在了E盘,所以这里的正确路径为"E:\\Anaconda3\\python.exe"
正确路径(Anaconda下的python)
{
"argv": [
"E:\\Anaconda3\\python.exe",
"-m",
"ipykernel_launcher",
"-f",
"{connection_file}"
],
"display_name": "Python 3",
"language": "python"
}
错误路径(非Anaconda下的python)
{
"argv": [
"C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python37\\python.exe",
"-m",
"ipykernel_launcher",
"-f",
"{connection_file}"
],
"display_name": "Python 3",
"language": "python"
}
3、修正路径
修正路径的方法很简单:
- 关闭
kernel.json
文件 - 打开
Anaconda Prompt
,输入python -m ipykernel install --user
(--user
是为了申请权限) - 再次打开
kernel.json
文件,检查路径是否被修正 - 重启
jupyter notebook
- 修复完成!
总结
问题的原因很简单,就是kernel的内核路径在作者最开始的某一步操作中被修改了,便导致内核从anaconda的python更改指向了电脑中安装的python3.7,首先便导致了kernel error(作者的问题是无法import win32api),其次即使重装后kernal一直卡在starting。
所以出现此类问题的时候记得先检查内核文件中的路径是否正确,重装真的改变不了什么!(心累)
相关文章:(写的内容都太简单了,可能这就是大神吧)
https://blog.csdn.net/oasis0312/article/details/77772371
https://blog.csdn.net/qq_16568981/article/details/71750789
https://blog.csdn.net/u012450601/article/details/87193311