<div class="gmail_quote">On Fri, Jun 26, 2009 at 3:44 PM, Gökhan SEVER <span dir="ltr">&lt;<a href="mailto:gokhansever@gmail.com">gokhansever@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div></div><div class="h5">On Fri, Jun 26, 2009 at 3:29 PM, Dennis Muhlestein <span dir="ltr">&lt;<a href="mailto:djmuhlestein@gmail.com" target="_blank">djmuhlestein@gmail.com</a>&gt;</span> wrote:<br><div class="gmail_quote">
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Interesting.<br>
<br>
On my Fedora, plot doesn&#39;t block the Ipython entry. They happily live by eachother.<br>
<br>
One thing I modified in the Shell.py (inside IPython folder) is to make sure that I am always starting with pylab:<br>
<br>
     #user_opts = set([s.replace(&#39;-&#39;,&#39;&#39;) for s in argv[:3]])<br>
     user_opts = set([&#39;pylab&#39;])<br>
<br>
Could you try with this?<br>
</blockquote>
<br></div>
I didn&#39;t modify this file, but I&#39;m pretty sure this would cause the Show function to not block since if I start ipython with -pylab, I can verify the non-blocking feature.<br>
<br>
My problem is that -pylab and -wthread don&#39;t work the same way.<br>
<br>
ipython -pylab pylab_script.py # __doesn&#39;t__ block<br>
ipython -wthread wx_script.py # __does__ block<br>
<br>
It would be nice if -wthread worked the same as -pylab<br><font color="#888888">
<br>
-Dennis<br>
</font></blockquote></div><br></div></div>I see your point now.<br><br>wthread switch blocks the execution somehow, however q4thread works well.<br><br>There should be some internal differences between the backends that is causing this issue.<br>

<br>And a very interesting observation if I run the following lines with q4thread <br><br>import matplotlib.pyplot as plt<br>import numpy as np<br><br>a = np.linspace(0,2*np.pi, 1000)<br>plt.plot(np.sin(a))<br>plt.show()<br>

<br>I see the contents listed on whos, but get a empty namespace if I try the same thing with wthread.<br><br>One additional comment: The ipy.py script was explicitly calling the ipython from within a regular python script. I might not need to this if my scripts load into an Ipython workspace with just a ipython script.py notation</blockquote>
<div><br>I am going to ask a question (sorry for hijacking your thread Dennis -- I know your question and mine has answers somewhere in Shell.py, however haven&#39;t figured out yet. Maybe someone more experienced could comment on this time)<br>
<br>A very simple snippet (in my case in test.py):<br><br>import matplotlib.pyplot as plt<br><br>a = range(10)<br>plt.plot(a)<br>plt.show()<br><br>If I call it as:<br>ipython -q4thread test.py<br><br>[gsever@ccn Desktop]$ ipython -q4thread test.py<br>
Python 2.5.2 (r252:60911, Sep 30 2008, 15:41:38) <br>Type &quot;copyright&quot;, &quot;credits&quot; or &quot;license&quot; for more information.<br><br>IPython 0.10.bzr.r1174 -- An enhanced Interactive Python.<br>?         -&gt; Introduction and overview of IPython&#39;s features.<br>
%quickref -&gt; Quick reference.<br>help      -&gt; Python&#39;s own help system.<br>object?   -&gt; Details about &#39;object&#39;. ?object also works, ?? prints more.<br><br>In [1]: whos<br>Variable   Type      Data/Info<br>
------------------------------<br>a          list      [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]<br>plt        module    &lt;module &#39;matplotlib.pyplo&lt;...&gt;b/matplotlib/pyplot.pyc&#39;&gt;<br><br>As seen above whos works as I desired.<br>
<br><br><br>But, if I call with pylab switch:<br><br>[gsever@ccn Desktop]$ ipython -pylab test.py<br><br>Python 2.5.2 (r252:60911, Sep 30 2008, 15:41:38) <br>Type &quot;copyright&quot;, &quot;credits&quot; or &quot;license&quot; for more information.<br>
<br>IPython 0.10.bzr.r1174 -- An enhanced Interactive Python.<br>?         -&gt; Introduction and overview of IPython&#39;s features.<br>%quickref -&gt; Quick reference.<br>help      -&gt; Python&#39;s own help system.<br>
object?   -&gt; Details about &#39;object&#39;. ?object also works, ?? prints more.<br><br>  Welcome to pylab, a matplotlib-based Python environment.<br>  For more information, type &#39;help(pylab)&#39;.<br><br>In [1]: whos<br>
Interactive namespace is empty.<br><br></div></div>Heh, nothing is visible on the namespace.<br><br><br>If I can make pylab entry works as q4thread I will not need to put the following lines into my scripts and no extra modifies in Shell.py to start with pylab each time:<br>
<br>import IPython<br>ipy = IPython.Shell.start(user_ns=locals())<br>ipy.mainloop()<br><br>Thanks,<br>Gökhan<br><br>