打印输出到日志窗口而不是 Jupyter Lab 中的单元格

mar*_*004 6 logging jupyter

我最近从 Jupyter Dashboard 切换到 Jupyter Lab,并且在小部件方面遇到了一些问题。

我的笔记本包含按钮,单击这些按钮时需要将文本打印到代码单元格下方的输出单元格。它们在 Jupyter Dashboard 中运行良好。但在 Jupyter Lab 中,相同的文本会发送到日志窗口。知道如何解决这个问题吗?

注意:当未从按钮调用print() 函数时,文本将显示在 Jupyter Dashboard 和 Jupyter Lab 中的代码单元格下方。

在此输入图像描述

Aar*_*ron 0

由于按钮点击是无状态的,因此它们使用自定义消息从前端传输到后端。通过使用 on_click 方法,单击后会打印一条消息的按钮如下所示。要捕获打印(或任何其他类型的输出)并确保其显示,请务必将其发送到输出小部件(或将要显示的信息放入 HTML 小部件)。

button = widgets.Button(description="Click Me!")
output = widgets.Output()

display(button, output)

def on_button_clicked(b):
    with output:
        print("Button clicked.")

button.on_click(on_button_clicked)
Run Code Online (Sandbox Code Playgroud)

https://ipywidgets.readthedocs.io/en/stable/examples/Widget%20Events.html