[IPython-user] Autoreload (Re: Food for thought on python and interactive work
Johann Cohen-Tanugi
cohen@slac.stanford....
Tue Jun 3 03:39:58 CDT 2008
ok thanks! (I know the usual way but having it readable together with
the reminder is a plus :) )
and I think that indeed Yosef Kreinin would pull his hair off his head
reading the caveats below : these are more or less exactly the reason
for his rant.
So it is probably a good canton to drill through as far as possible....
dreload?
%autoreload?
Enthought solution?
And one stupid question, which should probably be directed to another
list : why are attempts to fix the problem considered the job of 3rd
party software and not of python core?
best,
JCT
Ville M. Vainio wrote:
> On Tue, Jun 3, 2008 at 11:18 AM, Johann Cohen-Tanugi
> <cohen@slac.stanford.edu> wrote:
>
>> well, can you actually add a description or a pointer, now that you opened
>> the Pandora's box in front of all "those that are not aware"
>>
>
> Here is is (along with the usual way to find out about extensions) ;-):
>
> [c:/ipython]|10> import ipy_autoreload
> [c:/ipython]|11> ipy_autoreload?
>
> Docstring:
> IPython extension: autoreload modules before executing the next line
>
> Try::
>
> %autoreload?
>
> for documentation.
>
> [c:/ipython]|12> %autoreload?
> Type: Magic function
> Base Class: <type 'instancemethod'>
> String Form: <bound method InteractiveShell.autoreload_f of <IPython.iplib.In
> teractiveShell object at 0x00A40870>>
> Namespace: IPython internal
> File: c:\ipython\ipython\extensions\ipy_autoreload.py
> Definition: %autoreload(self, parameter_s='')
> Docstring:
> %autoreload => Reload modules automatically
>
> %autoreload
> Reload all modules (except thoses excluded by %aimport) automatically now.
>
> %autoreload 1
> Reload all modules imported with %aimport every time before executing
> the Python code typed.
>
> %autoreload 2
> Reload all modules (except thoses excluded by %aimport) every time
> before executing the Python code typed.
>
> Reloading Python modules in a reliable way is in general
> difficult, and unexpected things may occur. Some of the common
> caveats relevant for 'autoreload' are:
>
> - Modules are not reloaded in any specific order, and no dependency
> analysis is done. For example, modules with 'from xxx import foo'
> retain old versions of 'foo' when 'xxx' is autoreloaded.
> - Functions or objects imported from the autoreloaded module to
> the interactive namespace are not updated.
> - C extension modules cannot be reloaded, and so cannot be
> autoreloaded.
>
>
>
More information about the IPython-user
mailing list