<div class="gmail_quote">Hi Robert,<br><br>On 3 August 2011 09:03, Robert Cimrman <span dir="ltr">&lt;<a href="mailto:cimrman3@ntc.zcu.cz">cimrman3@ntc.zcu.cz</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div id=":1kg">In 0.10.2, when one edits a Python script, it is very convenient to try it in<br>
ipython shell using the %run command. But, if a module imported in the script<br>
changes, it is not reloaded, just as the docs say &quot;(except for sharing global<br>
objects such as previously imported modules)&quot;.<br>
<br>
Could this &quot;problem&quot; be solved somehow by the new two-process architecture of<br>
0.11? I have just tried the Git version, and it behaves just like 0.10.2 in<br>
this respect.</div></blockquote></div><br>I don&#39;t think the two-process architecture has any effect on it at all - all your code is loaded and run in the kernel. You can restart the kernel from the frontend, but then you lose everything in your namespace (like closing IPython and starting it again).<br>

<br>Have a look at the code in IPython.lib.deepreload - I think it should be possible to tweak the %run magic so that it replaces the __builtin__.__import__ function before running code, and puts it back afterwards.<br><br>

Thomas<br>