最近在做数据分析的工作,一些自己写好的模块在jupyter中是被调用的关系,但是一旦我修改了外部模块的代码,在jupyter中是不会自动更新的,类似于缓存机制。要想更新,就只能重启内核然后再全部跑一遍,相当麻烦。
下面提供解决方式:
1. importlib
import importlib
importlib.reroad(your_module)
# 在需要重新导入module的cell中写importlib.reroad即可
2. 魔法函数
在cell中添加如下代码,每次运行自动导入aimport 指定的模块。
%load_ext autoreload
%autoreload 1
%aimport your_module
进一步偷懒,自动重载所有模块,每次运行一个cell,所有模块都会重载一次,缺点是会耗费一点时间
%load_ext autoreload
%autoreload 2
写在最后,可以在ipython 搜索load关键词查看最新的用法。