【问题标题】:How to ensure function is only run once in a jupyter session?如何确保函数在 jupyter 会话中只运行一次?
【发布时间】:2019-07-09 20:59:51
【问题描述】:

我使用 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 块,但我希望有一个更通用的解决方案

【问题讨论】:

    标签: python jupyter-lab


    【解决方案1】:

    您是否每次在 jupyter 中运行初始化列表的部分?在我看来,x 第一次被删除并且 list 保持这种状态(这有点像他们在 jupyter 中所指的那样)。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-08
      • 1970-01-01
      • 1970-01-01
      • 2011-09-05
      • 2016-10-16
      • 1970-01-01
      • 2021-02-06
      相关资源
      最近更新 更多