There are two ways that work in 0.11 and after:<div><br></div><div>if the name `get_ipython` exists, you are in IPython:</div><div><br></div><div>try:</div><div>    get_ipython</div><div>except NameError:</div><div>    in_ipython = False</div>

<div>else:</div><div>    in_ipython = True</div><div><br></div><div>get_ipython() will return the current IPython instance, if you have cause to query/manipulate it.</div><div><br></div><div>More programmatically, you can check if an InteractiveShell exists:</div>

<div><br></div><div>from IPython.core.interactiveshell import InteractiveShell</div><div>in_ipython = InteractiveShell.initialized()</div><div><br></div><div>-MinRK</div><div><br><div class="gmail_quote">On Sun, Nov 27, 2011 at 19:29, Fernando Perez <span dir="ltr">&lt;<a href="mailto:fperez.net@gmail.com">fperez.net@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">On Sun, Nov 27, 2011 at 7:21 PM, Tom Bennett &lt;<a href="mailto:tom.bennett@mail.zyzhu.net">tom.bennett@mail.zyzhu.net</a>&gt; wrote:<br>


&gt;<br>
&gt; I am wondering if there is a way to detect if a script is under ipython<br>
&gt; 0.12. __IPYTHON__ no longer works.<br>
<br>
</div>Sorry about that... There is now a numerical flag, __IPYTHON__active,<br>
that you can test for.  It tries to count the levels of nesting of<br>
IPython, but honestly I think that in the long run we should go for<br>
something much simpler: just a flag, called __IPYTHON__ whose presence<br>
indicates IPython is active and that we delete when we exit.  Since<br>
now we have not only terminal interaction but also event-driven<br>
kernels (on zmq), I think it&#39;s a bit hopeless to try to track levels<br>
of nesting correctly.  A very simple flag, set in the builtins when<br>
the object is initialized, is probably all we should have.  Anything<br>
else is bound to be brittle and likely to hurt more than it helps.<br>
<br>
Thoughts?<br>
<br>
f<br>
_______________________________________________<br>
IPython-User mailing list<br>
<a href="mailto:IPython-User@scipy.org">IPython-User@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/ipython-user" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-user</a><br>
</blockquote></div><br></div>