我正在将一些python函数导入到Jupyter Lab笔记本中,然后在笔记本中使用它们。但是我会在更改函数之间来回切换,然后在Jupyter Lab笔记本中重新运行它们。我发现使Jupyter Lab使用更新代码的唯一方法是重新启动内核,然后重新运行所有内容。虽然这很好用,但有点麻烦,因为我需要再次在笔记本中运行所有内容。
是否有更好的方法允许Jupyter Lab在保留所有先前设置的变量的同时查看导入函数中的新更改?
答案 0 :(得分:2)
您也可以通过将其放入笔记本中来使用重装魔法。它会自动重新加载代码。
%reload_ext autoreload
%autoreload 2
这可能导致混淆的唯一时间是,如果您实例化了一个对象,则更改代码然后想知道为什么已经实例化的对象没有新功能。除此之外,它运作良好。
答案 1 :(得分:1)
您可以从中重新加载要导入功能的模块。
假设您的笔记本中有:
from mymodule import myfunction
myfunction()
# execute old version of myfunction
然后你去myfunction
更改mymodule.py
。重新加载模块:
import importlib
importlib.reload(mymodule)
如果您现在致电myfunction()
,将会执行新版本。