不按顺序排列的ipython行号会产生NameError

时间:2015-07-08 21:44:21

标签: ipython ipython-notebook

我在我的浏览器中运行了一个ipython笔记本,我有一个名为“x'”的NameError,它在笔记本中的上面定义了,但是在数字上有较低的行号,我认为这是NameError的原因。

例如,它看起来像这样:

In [12]: x = np.random.random((3, 4))
In [4]: print x

---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-2-73c1d467e5a9> in <module>()
      1 #your code here
----> 2 print x

NameError: name 'x' is not defined

如何在此处修复执行顺序?

1 个答案:

答案 0 :(得分:0)

左边的数字只表示代码块的执行顺序。

根据您运行每个单元格的方式,数字会发生变化。在这个例子中,你只需要运行[12]然后[4],它将变为[13]。并且x将打印。

订单取决于您。但是,在顶部栏上,您可以单击“全部运行”,这将自上而下运行所有​​块。

避免混淆和已定义的变量。我建议定期重启IPython内核(也是顶部栏),然后运行全部。

相关问题