在 Jupyter 笔记本中重新加载 Python 模块(不带自动重新加载)

lsm*_*mor 4 python jupyter-notebook

我有以下文件夹结构

project/
  src/
    __init__.py
    mymodule.py
  mynotebook.ipynb
Run Code Online (Sandbox Code Playgroud)

mynotebook我可以mymodule使用标准公式导入from src.mymodule import *。在mymodule不停止内核的情况下修改并尝试重新导入它时会弹出问题。我正在关注讨论,但它不起作用。(蟒蛇版本:3.3.5)

from imp import reload 
reload(src.mymodule) # also reload(mymodule)
Run Code Online (Sandbox Code Playgroud)

上面的代码失败并显示消息name 'src' is not defined(也name 'mymodule' is not defined)。我不能使用ipython'sautoreload因为我没有安装它的权限。

谢谢!

had*_*i k 7

您也需要导入src,然后reload(src.mymodule).

from src import mymodule
import src
# Change in mymodule
reload(src.mymodule)
Run Code Online (Sandbox Code Playgroud)

  • python3 的快速说明:使用 importlib.reload (5认同)