最近,Jupyter(笔记本和实验室)开始打印任何内容,就好像我单独执行每一行一样。它过去打印执行的最后一行的输出,但现在它打印所有内容,如下所示。
我可以通过执行例如 来抑制这种情况_ = axs[0].plot(~~~),但是在每行末尾添加分号并没有帮助。我已经重新安装了 Anaconda 但没有任何改变。
我在 MBP 2018 15" 上使用 macOS 10.14.6,在 MS Edge 87.0.664.47 上使用 Python 3.8(基本上是当前 Anaconda 安装的所有内容,无需任何额外安装)。
编辑:更准确地说,任何具有未分配给变量
的返回值的代码行总是被打印。以前,只有当每一行是代码的最后一行时,才会“打印”每一行。无论使用什么软件包,例如 numpy 或 pandas,都会发生这种奇怪的行为:

(仅供参考,可复制文本:
import numpy as np
import pandas as pd
def add_with_return(arr):
arr += 1
return arr
a = np.arange(10)
b = pd.DataFrame(dict(value=a))
a, b
add_with_return(a)
c = np.linspace(0, 1)
Run Code Online (Sandbox Code Playgroud)
)
编辑2:
我使用的软件包版本
$ jupyter --version
jupyter core : 4.6.3
jupyter-notebook : 6.1.4
qtconsole : 4.7.7
ipython : 7.19.0
ipykernel : 5.3.4
jupyter client : 6.1.7
jupyter lab : 2.2.6
nbconvert : 6.0.7
ipywidgets : 7.5.1
nbformat : 5.0.8
traitlets : 5.0.5
Run Code Online (Sandbox Code Playgroud)
编辑3:
我想我终于找到了一个解决方法:
放在代码单元最后一行;的末尾。
示例:在单元格末尾添加一条虚拟线None;以消除所有不需要的打印。
;但是,一旦您有任何代码行在代码单元格的最后一行末尾没有,它就会再次打印所有内容(无论您是否;在其他行的末尾有)
我想听听是否有更好的解决方案。(谁会想一直加上分号......?)
在 IPython 中,有一个选项InteractiveShell.ast_node_interactivity可以设置为“all”、“last”、“last_expr”、“none”或“last_expr_or_assign”。默认设置是“last_expr”。在此处的IPython 文档中查找更多信息。
当我在 Jupyter 单元格中输入以下内容时,模仿您的情况。
InteractiveShell.ast_node_interactivity = 'all'
Run Code Online (Sandbox Code Playgroud)
您提供的代码:
import numpy as np
import pandas as pd
def add_with_return(arr):
arr += 1
return arr
a = np.arange(10)
b = pd.DataFrame(dict(value=a))
a, b
add_with_return(a)
c = np.linspace(0, 1)
Run Code Online (Sandbox Code Playgroud)
它给出以下输出:
(array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]),
value
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9)
array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
Run Code Online (Sandbox Code Playgroud)
最后使用以下命令将其恢复到之前的状态。
InteractiveShell.ast_node_interactivity = 'last_expr'
Run Code Online (Sandbox Code Playgroud)
如果放置在正确的级别,分号应该起作用。
确保;设置在多层的
最后一个顶层,例如fig, axes = plt.subplots(2);
然后,您可以;在生成不需要的输出的代码行末尾添加以将其静音。例如:ABC.plot(XYZ);
更新:;即使我只放在最后一行,静音也有效。如果没有,那么问题就出在其他地方。
| 归档时间: |
|
| 查看次数: |
996 次 |
| 最近记录: |