How can I reload objects in my namespace in ipython [duplicate]

Each Answer to this Q is separated by one/two green lines.

After import functions into ipython, how do I reload them when I have modified them outside of ipython ?

Python 2:

reload(module)

Python 3:

from importlib import reload
reload(module)

Where module is the file with your functions.

you can also use autoreload, so that the modules you are working on are automatically reloaded at each statement, pretty handy for debugging, see:

Autoreload of modules in IPython

Use the following link to read more about reload built-in function. Please find sample below:

import controls.grid
reload(controls.grid)

Note that reload is ‘Reload a previously imported module. The argument must be a module object, so it must have been successfully imported before.’ and ‘When a module is reloaded, its dictionary (containing the module’s global variables) is retained. Redefinitions of names will override the old definitions, so this is generally not a problem. If the new version of a module does not define a name that was defined by the old version, the old definition remains.’


The answers/resolutions are collected from stackoverflow, are licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0 .