使用jupyter不方便的一个地方就是,每次只在当前运行时环境运行代码。
比如第一次导入了test_module.py中的某个函数test_func(),在运行的时候发现test_func()需要做一些改动,才能用。于是做了修改,然后重新 运行jupyter中对应的cell,你会发现,你在test_module.py中做的修改没有被导入。
解决办法:
(1)重启Jupyger
(2)重新载入需要的模块
比如我的test_module模块,在cell中使用一下代码:
import importlib
importlib.reload(test_module)
(3)在cell中添加如下代码,每次运行自动导入aimport 指定的模块
比如我的test_module模块:
%load_ext autoreload
%autoreload 1
%aimport test_module
或者自动重载所有模块,每次运行一个cell,所有模块都会重载一次,缺点是会耗费一点时间。
%load_ext autoreload
%autoreload 2