Reloading submodules in IPython
Rise to the top 3% as a developer or hire one of them at Toptal: https://topt.al/25cXVn
--------------------------------------------------
Music by Eric Matyas
https://www.soundimage.org
Track title: Secret Catacombs
--
Chapters
00:00 Reloading Submodules In Ipython
01:02 Answer 1 Score 21
01:20 Accepted Answer Score 877
02:12 Answer 3 Score 43
02:30 Answer 4 Score 26
02:45 Thank you
--
Full question
https://stackoverflow.com/questions/5364...
--
Content licensed under CC BY-SA
https://meta.stackexchange.com/help/lice...
--
Tags
#python #ipython
#avk47
ACCEPTED ANSWER
Score 877
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.
ANSWER 2
Score 43
In IPython 0.12 (and possibly earlier), you can use this:
%load_ext autoreload
%autoreload 2
This is essentially the same as the answer by pv., except that the extension has been renamed and is now loaded using %load_ext.
ANSWER 3
Score 26
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].