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