将新代码导入Jupyter Lab

时间:2018-03-16 17:22:05

标签: jupyter-notebook jupyter jupyter-lab

我正在将一些python函数导入到Jupyter Lab笔记本中,然后在笔记本中使用它们。但是我会在更改函数之间来回切换,然后在Jupyter Lab笔记本中重新运行它们。我发现使Jupyter Lab使用更新代码的唯一方法是重新启动内核,然后重新运行所有内容。虽然这很好用,但有点麻烦,因为我需要再次在笔记本中运行所有内容。

是否有更好的方法允许Jupyter Lab在保留所有先前设置的变量的同时查看导入函数中的新更改?

2 个答案:

答案 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(),将会执行新版本。