Reloading submodules in IPython
IPython comes with some automatic reloading magic:
%load_ext autoreload%autoreload 2
It will reload all changed modules every time before executing a new line. The way this works is slightly different than dreload
. Some caveats apply, type %autoreload?
to see what can go wrong.
If you want to always enable this settings, modify your IPython configuration file ~/.ipython/profile_default/ipython_config.py
[1] and appending:
c.InteractiveShellApp.extensions = ['autoreload'] c.InteractiveShellApp.exec_lines = ['%autoreload 2']
Credit to @Kos via a comment below.
[1]If you don't have the file ~/.ipython/profile_default/ipython_config.py
, you need to call ipython profile create
first. Or the file may be located at $IPYTHONDIR
.
For some reason, neither %autoreload
, nor dreload
seem to work for the situation when you import code from one notebook to another. Only plain Python reload
works:
reload(module)
Based on [1].