Hi all,<div><br></div><div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; ">Spyder (Scientific PYthon Development EnviRonment) is a free open-source Python development environment providing MATLAB-like features in a simple and light-weighted software, available for Windows XP/Vista/7, GNU/Linux and MacOS X:<br>
   * advanced code editing features (code analysis, ...)<br>   * interactive console with MATLAB-like workpace (with GUI-based list, dictionary, tuple, text and array editors -- screenshots: <a href="http://packages.python.org/spyder/console.html#the-workspace" target="_blank" style="color: rgb(6, 88, 181); ">http://packages.python.org/spyder/console.html#the-workspace</a>) and integrated matplotlib figures<br>
   * external console to open an interpreter or run a script in a separate process (with a global variable explorer providing the same features as the interactive console&#39;s workspace)<br>   * code analysis with pyflakes and pylint<br>
   * search in files features<br>   * documentation viewer: automatically retrieves docstrings or source code of the function/class called in the interactive/external console<br>   * integrated file/directories explorer<br>
   * MATLAB-like path management<br>   ...and more!<br></span></div><div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; "><br></span></div><div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; ">Since v1.1.0 (which has recently reached Release Candidate 1), IPython has been integrated in the external console.</span></div>
<div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; ">See here: </span><span class="Apple-style-span" style="font-family: fixed-width, monospace; font-size: 12px; "><a target="_blank" rel="nofollow" href="http://www.google.com/url?sa=D&amp;q=http://spyderlib.googlegroups.com/web/ipython.png&amp;usg=AFQjCNGOFIGIa7tvD7Y6bMdy7WvlrM5dOA" style="color: rgb(0, 0, 204); ">http://spyderlib.googlegroups.com/web/ipython.png</a></span></div>
<div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; ">and there: </span><span class="Apple-style-span" style="font-family: fixed-width, monospace; font-size: 12px; "><a target="_blank" rel="nofollow" href="http://www.google.com/url?sa=D&amp;q=http://spyderlib.googlegroups.com/web/spyder_light.png&amp;usg=AFQjCNHgOMnWP66VaxvD7vq86lUwH0Gglg" style="color: rgb(0, 0, 204); ">http://spyderlib.googlegroups.com/web/spyder_light.png</a></span></div>
<div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; ">That is great news (and I hope that you will be excited by these screenshots), and following this, Spyder v2.0 should be almost completely based on IPython.</span></div>
<div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; "><br></span></div><div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; ">However, I still have some difficulties with IPython and I would really appreciate some help to fix these bugs.</span></div>
<div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; ">First of all, let me explain how it works. It&#39;s quite simple actually: I&#39;m opening a Python interpreter in another process (QProcess) and this interpreter executes a startup script which is here:</span></div>
<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;"><a href="http://code.google.com/p/spyderlib/source/browse/spyderlib/widgets/externalshell/startup.py">http://code.google.com/p/spyderlib/source/browse/spyderlib/widgets/externalshell/startup.py</a></span></font></div>
<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;">Now you can see that on Windows platforms, I&#39;m forced to do ugly things to:</span></font></div>
<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;">1. fix the encoding which is not properly detected by Python in the QProcess (I assume that it&#39;s a Python bug on Windows) and cause errors in pyreadline</span></font></div>
<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;">2. change the sys.platform to anything but &#39;win32&#39; to prevent IPython from doing this: (in IPython.genutils):</span></font></div>
<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;"><div>if sys.platform == &#39;win32&#39; and readline.have_readline:</div><div>    Term = IOTerm(cout=readline._outputfile,cerr=readline._outputfile)</div>
</span></font></div><div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; ">3. add an environment variable (to the QProcess): TERM=emacs, to prevent IPython from using msvcrt for the &#39;page_more&#39; function implementation because like emacs, Spyder </span></font><span class="Apple-style-span" style="font-family: arial, sans-serif; border-collapse: collapse; ">doesn&#39;t like to be bypassed with msvcrt.getch() (see IPython.genutils.page_more definitions)</span></div>
<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; "><div><br></div><div>Worse, I found a very strange bug happening when opening a PyQt file dialog (QFileDialog.xxx) from a mainwindow -- e.g. when using the &quot;save figure&quot; feature in a matplotlib figure: the GUI window freezes and switching back to the IPython console and pressing Enter will unblock it! This bug only happens in a IPython session launched into a Python interpreter running in a separate process (it does not happen in a simple Python interpreter running in a separate process).</div>
<div><br></div><div>Any help would be really appreciated!</div><div>Thanks,</div><div>Pierre</div></span></font></div>