IPython Notebook中的[*]是什么意思以及如何将其关闭?

时间:2015-05-24 08:12:15

标签: python ipython jupyter

我使用的是Windows 7,Python 2.7.9以及最新版本的IPython 3.1。

我在IPython Notebook中运行%python并运行单元格,而不是返回Python版本,它没有运行并跳转到新行并打印In [*]而不是行号。现在ipython中没有运行任何行,当我尝试运行单元格值时,所有内容都被忽略。

任何人都知道发生了什么事?

3 个答案:

答案 0 :(得分:39)

内核很忙。转到菜单Kernel,然后点击Interrupt。如果这不起作用,请单击Restart。您需要进入一个新单元格,然后按Shift + Enter查看它是否有效。

答案 1 :(得分:2)

导致内核繁忙的问题可能是特定的代码行。在这种情况下,您的计算机可能只需要时间来处理该线路。

如Mike Muller所述,要找出哪一行或哪几行花费了这么长时间,您需要重新启动程序或中断内核。然后一次仔细地运行一行,直到您到达带有星号的第一行为止。

如果您不重新启动或中断繁忙的程序,则您将无法分辨出哪条线是问题线,而哪条线不是问题线,因为当它在该问题线上工作时,它只会保持忙碌状态。即使您从头开始,它也会继续在每一行上为您提供星号,直到完成一行代码为止。这非常令人困惑,因为在第二遍运行时,已经运行并产生输出的行突然失去了输出。同样令人困惑的是,您可以在内核繁忙时对代码进行更改,但是直到再次释放它之后,您才能获得任何新的输出。

您的代码不一定要引起此错误。您可能只包含了一个耗时的命令。引导导致了这一点。

如果您的代码是所需的代码,那么问题所在的行实际上并不重要,您只需要给所有代码运行时间即可。找出哪个是问题行的主要原因是某些行是可消耗的,或者如果您由于其他原因而获得星号,并且需要排除这一行。

如果您正在Internet服务上编写代码,但是在没有输入代码时超时,那么仅等待它就可能没有足够的时间来完成运行。通常,每隔几分钟滚动一次即可使这些页面不再超时。

答案 2 :(得分:1)

为了解决这个问题,我不得不停止我的反病毒程序。