如何刷新 Jupyter Notebook 单元中的 Python 导入?

Ant*_*ash 17 python jupyter-notebook

我有两个文件:

MyModule.py MyNotebook.ipynb

我正在使用最新的 Jupyter Notebook 和最新的 Python。我的笔记本中有两个代码单元。

1号牢房

import some stuff
Run some code
(Keep everything in the environment takes about five minutes to run this cell).
Run Code Online (Sandbox Code Playgroud)

2号牢房

import MyModule
Execute code from MyModule
Run Code Online (Sandbox Code Playgroud)

我想在 MyModule.py 中进行代码更改并重新运行Cell #2,但不重新启动内核(Cell #1做了相当多的工作,我不想每次都重新运行)。如果我只是运行第二个单元格,对 MyModule.py 所做的更改不会传播。我做了一些挖掘,并尝试使用 importlib.reload。Cell #2的实际代码:

from Nash.IOEngineNash import *
import importlib
importlib.reload(Nash.IOEngineNash)
Run Code Online (Sandbox Code Playgroud)

不幸的是,这不太有效。如何将 MyModule.py(或实际上是 Nash/IOEngineNash.py)中的这些更改推送到我的笔记本中,而无需重新启动内核并从头开始运行?

Vae*_*hav 20

在 jupyter 笔记本中导入自定义脚本时,我遇到了类似的问题

尝试导入模块,alias然后重新加载它


import Nash as nash
from importlib import reload
reload(nash)

Run Code Online (Sandbox Code Playgroud)