将新代码导入Jupyter Lab

3
我正在将一些Python函数导入Jupyter Lab笔记本中,并在笔记本中使用它们。但是我需要不断地修改这些函数并在Jupyter Lab笔记本中重新运行它们。目前我发现唯一的方法是重新启动内核并重新运行所有内容,才能让Jupyter Lab使用更新后的代码。虽然这个方法可以正常工作,但有点繁琐,因为我需要再次运行笔记本中的所有内容。
是否有更好的方法使Jupyter Lab能够查看导入函数的新更改,同时保留所有先前设置的变量?
2个回答

5

您还可以在笔记本中加入以下代码来使用 reload 魔法命令。它将自动重新加载代码。

%reload_ext autoreload
%autoreload 2

唯一可能会造成困惑的情况是,如果您实例化了一个对象,更改了代码,然后想知道为什么已经实例化的对象没有新函数。除此之外,它运作良好。

3
您可以重新加载您正在导入函数的模块。
假设在您的笔记本中,您有以下内容:
from mymodule import myfunction
myfunction()
# execute old version of myfunction

然后你需要去修改mymodule.py中的myfunction。重新加载模块:

import importlib
importlib.reload(mymodule)

如果您现在调用myfunction(),将会执行新版本。

非常有用,不仅适用于Jupyter使用! - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接