如何确保功能在jupyter会话中仅运行一次?

时间:2019-07-09 12:53:29

标签: python jupyter-lab

我使用jupyterlab。我有一个删除列表元素的函数,具体取决于某些超参数。在常规python中,每次我部署代码时都可以使用。在jupyter中,当我多次运行代码时,它会给我:ValueError: list.remove(x): x not in list

我试图像这样在脚本开始时强制内核重新启动:

from IPython.display import display_html
display_html("<script>Jupyter.notebook.kernel.restart()</script>",raw=True)

但是a)无效,b)我认为应该有一种更有效的方法。

我是否可以对仅在第一次运行时部署它的函数assert_valid_config(data_config)设置条件?

解决此问题的最有效方法是什么?现在,我可能会在其周围放置一个try-catch块,但我希望有一个更通用的解决方案

1 个答案:

答案 0 :(得分:0)

您是否每次在jupyter中都运行用于初始化列表的Part?在我看来,x第一次被删除,列表保持这种状态(这在jupyter中指出)。

您可以尝试将assert_valid_config(data_config)放入jupyter的单独块中,而不是每次都运行。