【问题标题】:What is "killing the kernel" when coding?编码时什么是“杀死内核”?
【发布时间】:2021-04-08 12:49:31
【问题描述】:

我被建议“杀死内核”,因为我的代码在我的计算机上无法正常运行,即使它在我老师的电脑上运行,他在离开之前建议内存中的代码与显示的不同,我应该杀掉内核看看有没有用,但我搜了一下,发现内核是我操作系统的核心,所以我不知道这和什么有什么关系,因为我的代码很简单。

【问题讨论】:

  • 你在使用 jupyter notebook 吗? jupyter 用户界面中有一个选项可以杀死内核。应该是你老师说的吧。我认为内核只是正在运行的 python 实例的代名词
  • 只需关闭您当前使用的终端/控制台,然后在尚未运行该脚本的地方打开一个新的。

标签: python pycharm terminology


【解决方案1】:

简短说明

Jupyter Kernel 和 OS Kernel 不一样Read Here。你的导师是对的。如果要重用变量名,则应重新启动 Jupyter 内核。

详细说明

因此,基本上在 jupyter 笔记本中,您可以在单元(块)中运行代码。每个块可以在不同的时间执行,而不是正常的程序(逐行)方法。因此,经常重复使用变量名然后运行旧块可能会导致冲突。 例如(将每个换行符视为笔记本中的一个新单元格)

temp = 3 # First Cell -> We run this cell only once
temp = temp + 5 # We run this cell 2nd time without running the First cell
print(temp)

如果我们从开始(第一次)运行所有三个块,最终结果是 8。但是如果我们再次运行第二个单元格,结果将是 13。这是一个简单的场景,您可以简单地运行 temp = 3再次修复代码。但真正的问题发生在变量中存储了大型数组或图像时。如果您之前的块没有正确处理变量并且您使用相同的变量运行下一个块,您将得到不可预测的结果/错误。

所以不要从上面去每个单元格并开始编码。只需选择选项

【讨论】:

    【解决方案2】:

    当我关闭计算机上的程序时,它会删除所有临时保存的信息并关闭程序。杀死内核就是这样做的,但不会关闭前端。

    假设您正在使用 microsoft word 并且它冻结,因此您需要重新启动它。它关闭了整个该死的东西,然后重新打开它。如果你可以在word中杀死内核,那就是保持word的前端打开,而只是关闭后端。

    【讨论】:

      猜你喜欢
      • 2013-04-24
      • 2014-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-24
      • 2020-07-04
      • 1970-01-01
      • 2012-12-21
      相关资源
      最近更新 更多