国庆节后第一天,准备调试一下放假前的代码,打开jupyter notebook,始终无法连接到内核:
ImportError: cannot import name 'InterruptiblePdb' from partially initialized module 'IPython.core.debugger' (most likely due to a circular import) (D:\anaconda3\envs\data\lib\site-packages\IPython\core\debugger.py)
[W 13:17:20.179 NotebookApp] KernelRestarter: restart failed
然后我找了一系列教程,包括==卸载了ipykernel,然后重新安装==,仍然报错、==卸载了整个jupyter notebook,然后重新安装==,仍然报错。。。反正试了很多方法,都不行。
最后,终于终于找到了原因:
==删除文件夹中的code.py文件==,文件命名为code.py就像调用变量int或list。当前ipython内核甚至拒绝在工作目录以code.py开头,因为它隐藏了一个内部模块导致“模块名称冲突”。
bug心得体会:
这个bug我真的很无语,假期第一天上班,就给我搞事,放假前没任何问题啊。。。
还有报错的信息很多,一大串,我主要聚集在最后给出的报错信息,这就直接误导了我解决问题的方向。其实报错信息提示了code.py,被我无情的忽略了。。。如下:
所以,以后有bug出现,还是得从头到尾看一遍报错信息,我之前就想着环境崩了,哪到底是什么原因导致环境崩了呢?不要总想着是内部原因,也有极大的可能是外部原因(脚本命名冲突,之前遇到过将脚本命名为cv2.py,一直报错)。
参考资料:
https://www.codenong.com/cs106155956/
https://blog.csdn.net/weixin_63099027/article/details/126063535
https://blog.csdn.net/qq_45154565/article/details/109734913