天天看点

jupyter 每次运行重新导入模块

最近在做数据分析的工作,一些自己写好的模块在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关键词查看最新的用法。