ipython shortcut to reload modules

B

bernhard.voigt

Hey!

I'm using ipython as my python shell and often run scripts with the
magic command %run:

In [1]: %run script.py

If modules are loaded within the script these are not reloaded when I
rerun the script. Hence, when I changed some of the modules loaded, I
have to call

In [2]: reload(module1)
Out [2]: <module 'module1' from ....
In [3]: reload(module2)
Out [3]: <module 'module2' from ...
In [4]: %run script.py

Is there a shortshut to reload the modules automatically before
rerunning the script?

In case of names imported from modules into the shell environment I
have to reload and re-import in order to have the changes available:

In [5]: from module1 import *
In [6]: reload(module1)
In [7]: from module1 import *

Is there a shortcut to force a reload of loaded modules and re-
defining the names loaded with from....import...?

Thanks! Bernhard
 
J

Jordan Greenberg

Hey!

I'm using ipython as my python shell and often run scripts with the
magic command %run:

In [1]: %run script.py

If modules are loaded within the script these are not reloaded when I
rerun the script. Hence, when I changed some of the modules loaded, I
have to call

In [2]: reload(module1)
Out [2]: <module 'module1' from ....
In [3]: reload(module2)
Out [3]: <module 'module2' from ...
In [4]: %run script.py

Is there a shortshut to reload the modules automatically before
rerunning the script?

No. But if you're including them in the script, they won't be reloaded
because they're already present in the namespace. If you do %reset
before your %run, it'll clear up the namespace, so your script's import
should work. Downside: its effectively the same as quitting out of
ipython, and restarting it. Other then that, I don't think you have much
choice.
Oh, if you use the %edit command to edit these files, it should reload
them when you're done editing.
-Jordan
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,581
Members
45,056
Latest member
GlycogenSupporthealth

Latest Threads

Top