当文件夹中有一个名为 random.py 的文件时,Jupyter notebook 单元格代码未在 VSCode 中执行

Jupyter notebook cell code not executing in VSCode when there is a file named random.py in the folder

我刚开始在 VSCode 中使用 Jupyter 笔记本,遇到了一个奇怪的问题。我创建了一个文件夹来存放我的实验程序,文件夹中有一个名为 random.py 的文件。当我尝试执行位于同一文件夹中的 Jupyter Notebook 的代码单元时,出现错误 'Kernel died with exit code 1'。如果我删除 random.py 文件的内容并将其设为空文件,那么问题仍然存在。如果我删除名为 random.py 的文件或将其名称更改为 random1.py.

等其他名称,问题就会解决

我已阅读有关 'Kernel died with exit code 1' 错误 and here

我的环境数据

我的系统上没有安装 Anaconda。我尝试了以上链接中提到的修复,但其中 none 有效。如果我将 Jupyter Notebook 和 运行 单元格代码放在任何其他文件夹中,那么它 运行 就完全没问题了。我想知道当同一文件夹中存在名为 'random.py' 的文件时,Jupyter notebook 是否有可能不 运行?我没有在其他任何地方看到这个问题的报道,所以我把它放在这里,这样我就可以得到一些帮助。

这里是证明的截图-

  1. not working when random.py file is present
  2. working when the filename is changed

这是完整的错误信息 -

内核终止,退出代码为 1。回溯(最近一次调用最后一次): 文件“C:\Users\HP\AppData\Local\Programs\Python\Python38\lib\runpy.py”,第 194 行,在 _run_module_as_main 中 returnrun_code(代码,main_globals,None, 文件“C:\Users\HP\AppData\Local\Programs\Python\Python38\lib\runpy.py”,第 87 行,在 run_code 中 执行(代码,run_globals) 文件“C:\Users\HP\AppData\Local\Programs\Python\Python38\lib\site-packages\ipykernel_launcher.py”,第 15 行,位于 从 ipykernel 将 kernelapp 导入为应用程序 文件“C:\Users\HP\AppData\Local\Programs\Python\Python38\lib\site-packages\ipykernel_init.py”,第 2 行,位于 从 .connect 导入 * 文件“C:\Users\HP\AppData\Local\Programs\Python\Python38\lib\site-packages\ipykernel\connect.py”,第 12 行,位于 导入 jupyter_client 文件“C:\Users\HP\AppData\Local\Programs\Python\Python38\lib\site-packages\jupyter_client_init.py”,第 4 行,位于 从 .connect 导入 * 文件“C:\Users\HP\AppData\Local\Programs\Python\Python38\lib\site-packages\jupyter_client\connect.py”,第 16 行,位于 导入临时文件 文件“C:\Users\HP\AppData\Local\Programs\Python\Python38\lib\tempfile.py”,第 45 行,位于 从随机导入随机作为_Random 导入错误:无法从 'random' 导入名称 'Random' (d:\LABS\AI Lab\lab3\random.py)

我的猜测是您干扰了 python 的内置 'random' 模块,并且某些东西意外地导入了您的文件而不是正确的模块。这就是解决方案更改文件名称的原因。