Jupyter小部件与JupyterLab扩展?

时间:2019-06-28 05:18:54

标签: python jupyter-notebook ipython jupyter jupyter-lab

我知道JupyterLab是Jupyter项目的下一代基于Web的UI,它基于Jupyter笔记本和体系结构,并且它将最终取代经典的Jupyter笔记本。

我对 Jupyter小部件 JupyterLab扩展之间的区别和关系感到困惑:

  • JupyterLab Extensions最终会取代这些Jupyter小部件以使用交互式Notebook吗?

  • Jupyter小部件是否仅适用于经典Jupyter Notebook?还是Widget只是JupyterLab扩展的一种?

1 个答案:

答案 0 :(得分:0)

我不是Jupyter扩展专家,但我认为以下说法是正确的(如果有人知道,请纠正我)。

Jupyter小部件实际上是使用扩展来实现的。

小部件和其他扩展名之间的主要区别在于 笔记本中的Python内核可以轻松地与小部件进行交互 -内核可以“调用”窗口小部件,而窗口小部件可以“回调”到内核。例如,内核可以更改窗口小部件中按钮的文本标签,而按下窗口小部件上的按钮可能会导致 在内核中执行的Python代码。

例如,以下笔记本创建了一个带有python单击回调的小部件,该回调回调了Javascript来更改小部件的外观:

https://github.com/AaronWatters/jp_proxy_widget/blob/master/notebooks/hello%20proxy%20world.ipynb

尽管可以实现扩展,但是扩展并不会自动以笔记本中的Python内核进程与扩展实例进行交互的方式构建。