在Jupyter笔记本中重新加载Python模块(不自动重新加载) [英] reload Python module within Jupyter notebook (without autoreload)
问题描述
我具有以下文件夹结构
project/
src/
__init__.py
mymodule.py
mynotebook.ipynb
在 mynotebook
内,我可以使用标准公式从src.mymodule import *
导入 mymodule
.修改 mymodule
并尝试在不停止内核的情况下重新导入该问题时,会弹出此问题.我正在关注此讨论,但它不起作用.(python版本:3.3.5)
within mynotebook
I can import mymodule
using standar formula from src.mymodule import *
. The problem pops up when modifying mymodule
and trying to reimport it without stopping the kernel. I am following this discussion but it is not working. (python ver: 3.3.5)
from imp import reload
reload(src.mymodule) # also reload(mymodule)
以上代码失败,并显示消息名称'src'
(也未定义名称'mymodule'
).我无法使用 ipython
的 autoreload
,因为我没有安装它的权限.
the code above fails with message name 'src' is not defined
(also name 'mymodule' is not defined
). I can't use ipython
's autoreload
because I have no permissions to install it.
谢谢!
推荐答案
您还需要导入 src
,然后再 reload(src.mymodule)
.
You need to import src
too and then reload(src.mymodule)
.
from src import mymodule
import src
# Change in mymodule
reload(src.mymodule)
这篇关于在Jupyter笔记本中重新加载Python模块(不自动重新加载)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!