如何不重启jupyter重新加载更新后的模块

在jupyter notebook中,有时候我们更改了imoprt的某个包 (比如叫: foo),需要重新加载foo的时候,是不生效的,需要重启jupyter 才行。

如何不重启也能够让更新过的包生效呢,只需要用importlib.reload(foo)即可:

import foo
import importlib
importlib.reload(foo)
                                    Win10 Jupyter Notebook Kernel错误或启动问题Jupyter Notebook问题描述我的运行环境问题描述查询的解决办法方法1方法2方法3我的解决思路嘿,总结一下~~~
Jupyter Notebook问题描述
我的运行环境
 - Windows 10
 - ipykernel 5.0.0
 - ipython 7.0.1
 - jupyter 1.0.0
 - ...
[[jupyter]]是数据科学中非常常用的工具,balabalabala…
自己查去,懒得再写一遍。
jupyter 中如果调用了外部的一些 py 写的模块,而好死不死,这些外部模块又需要经常改写一些参数,调整一些逻辑。比较一般的做法是直接重启 kernel,重新跑一遍这个 notebook。
想象一下,你在一个内存只有 24GB 的主机上,加载了一个 18GB 的数据,跑了一个耗时 127Min 的分析,而修改的是一个下一步操作。这会儿,要么提桶跑路,要么就把中间结果存起来,改了代码
                                    我使用anaconda安装的python3.6.3,并且自己建立一个虚拟环境,虚拟环境下的python版本也是3.6.3,Jupyter Notebook的内核P丫头好哦哦呢指向的是虚拟环境下的python,最近在使用matplotlib库的遇到了下面的问题:我的lib目录下是有matplotlib以及相关的库的,重装什么的都试过,无奈实在是找不到解决的办法,于是想更换一下Jupyter Note...
                                    最近在做数据分析的工作,一些自己写好的模块在jupyter中是被调用的关系,但是一旦我修改了外部模块的代码,在jupyter中是不会自动更新的,类似于缓存机制。要想更新,就只能重启内核然后再全部跑一遍,相当麻烦。
下面提供解决方式:
1. importlib
import importlib
importlib.reroad(your_module)
# 在需要重新导入module的cell中写importlib.reroad即可
2. 魔法函数
在cell中添加如下代码,每次运行自动导入aim
                                    jupyter重新导入python模块与文件中的函数
jupyterpython导入模块或文件中的函数后,当模块或文件中的函数改变并保存后,再次调用其中的函数时,调用的仍然是原来的函数,因为导入过的模块或函数并没有更新。
对于python3.4+,重新导入模块时:
import some_module #首次导入
import imp
imp.reload(some_mo...
                                    Jupyter 是数据分析领域非常有名的开发环境,使用 Jupyter 写数据分析相关的代码会大大节约开发时间。设想这样一个场景:别的部门的同事传给你一个数据分析的模块,用于实现对数据的高级分析。模块里面有上百个函数。如果直接写 Python 文件来调用数据分析模块,那么使用方法非常简单:from analyze import FathersAnalyzerdata = [...]father =...
                                    使用jupyter不方便的一个地方就是,每次只在当前运行时环境运行代码。
比如第一次导入了test_module.py中的某个函数test_func(),在运行的时候发现test_func()需要做一些改动,才能用。于是做了修改,然后重新 运行jupyter中对应的cell,你会发现,你在test_module.py中做的修改没有被导入。
解决办法:
(1)重启Jupyger
(2)重新载入需要的模块
import importlib
importlib.reroad(模块名)
(3)在cell中添加如下