A friend of mine has recently introduced me to IPython and I&#39;m hooked.  I&#39;ve been using an older version (0.8.x), but have now downloaded 0.10 and am having trouble with some of my existing python scripts.  In a few of these, I get lazy with &quot;returning&quot; certain objects from methods.  Instead of returning them, I place them directly in the main/interactive namespace with the __main__ module.<br>

<br>def someFunction():<br>    import __main__<br>    # do some stuff here<br>    __main__.myObject=myObject<br>    #etc.<br><br>When I return to the interactive prompt, myObject isn&#39;t there.  Conversely, sometimes I try to retrieve &quot;global&quot; attributes from that namespace, but now get an error.  For example:<br>

<br>In [16]: myObject=None<br>In [17]: def test():<br>   ....:     import __main__<br>   ....:     print __main__.myObject<br>In [18]: test()<br>---------------------------------------------------------------------------<br>

AttributeError                            Traceback (most recent call last)<br>C:\work\test\&lt;ipython console&gt; in &lt;module&gt;()<br>C:\work\test\&lt;ipython console&gt; in test()<br>AttributeError: &#39;FakeModule&#39; object has no attribute &#39;myObject&#39;<br>

<br>I&#39;ve done searches on FakeModule and see quite a few mailing list postings indicating it replaces python&#39;s __main__, but am unclear if there is any way around my problem.  That is, other than sticking with the older releases of IPython.  Or rewriting my affected methods to not use __main__.<br>

<br>Any suggestions would be much appreciated.<br><br>Thanks much,<br>Mike<br><br>