`ipywidgets.interact` 显示小部件本身但不应用参数中的函数 (Jupyter Notebook)

`ipywidgets.interact` shows the widget itself but does not apply the function in the argument (Jupyter Notebook)

我有一个问题,来自 ipywidgets 的交互式对象在我的计算机上的 Jupyter Notebook 中不起作用。显示了小部件本身,但它应该控制的功能(例如绘制带有变化参数的图形)似乎没有 运行。我从文档中获取了示例,但它不起作用。

The picture of code and output

代码:

import ipywidgets
import widgetsnbextension

def greeting(text="World"):
    print("Hello {}".format(text))
ipywidgets.interact(greeting, text="IPython Widgets")

我已经尝试过什么:

  1. 有类似的问题,例如 但答案对我不起作用(答案是 运行 这个: jupyter nbextension enable --py widgetsnbextension).
  2. 上面的代码在 GoogleColab 中有效,所以我尝试安装它们版本的软件包 ipythonipykernel(软件包 ipywidgetswidgetsnbextensions 的版本与矿)。但它导致了错误,所以我放弃了这个想法。我现在拥有所有软件包的最新版本,但我没有 Anaconda。

接下来我应该尝试什么?可能是我错了,问题有不同的原因?

我找到了答案!!!

我已经打开了几个 nbextensions(参见 screenshot)。把所有看起来有用的东西都包括进来是我的错误。当我关闭所有 nbextensions 然后所有 ipywidgets 东西开始工作。最后,我发现一个名为 Limit Output 的特定扩展是罪魁祸首。关闭它,一切正常。

寓意:如果你不需要,不要使用所有东西。此外,显然,限制输出扩展中存在一个错误,因为它不应该影响小部件(当您不小心写入 while(true) 或类似的东西时,它应该会限制输出数据)。

您也可以在原始问题下的评论中阅读有关 SageMath 的一些有用内容。