【问题标题】:How to save state of ipython widgets in jupyter notebook using python code如何使用 python 代码在 jupyter notebook 中保存 ipython 小部件的状态
【发布时间】:2019-12-01 06:12:57
【问题描述】:

我在我的 jupyter 笔记本中使用 ipython 小部件。现在,当内核重新启动时,小部件状态会丢失并显示一条消息:

“无法显示 Jupyter 小部件,因为找不到小部件状态。如果存储小部件的内核不再可用,或者小部件状态未保存在笔记本中,则可能会发生这种情况。您可以通过运行相应的单元格来创建小部件”

因此,当用户在内核重新启动后重新打开他的笔记本时,他在笔记本中找不到他之前拥有的小部件。我们希望保存所有小部件状态,以便在内核重新启动后,当用户重新打开笔记本时,他会发现所有小部件完好无损。

PS:有“保存小部件状态”菜单选项可以做到这一点,但这是一个手动步骤,我们希望通过我们的 Python 代码保存小部件状态。

【问题讨论】:

    标签: python jupyter-notebook ipython jupyter ipywidgets


    【解决方案1】:

    这有点小题大做,可能会产生意想不到的后果。在您从交互式调用的每个函数上,您都可以添加对以下函数的调用:

    def save_with_widgets ():
        display(
            HTML('<script>Jupyter.menubar.actions._actions["widgets:save-with-widgets"].handler()</script>') )
    

    它将保存您的笔记本(注意这一点),以及它的小部件状态。

    但是,请注意,当您运行具有实际小部件的单元格时,它不会尊重保存的状态。

    这不是特定于上面的函数;如果您使用 save widget state 菜单选项,也会发生同样的情况。

    所以...我不太确定该选项有多大用处。它将保存状态以向您展示上次笔记本的外观,但您将无法在下次运行时实际重用票证状态(好吧,您可以写下这些值并重新输入它们,但我不要以为那是你想要的……)

    【讨论】:

      猜你喜欢
      • 2018-03-10
      • 2020-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-15
      相关资源
      最近更新 更多