Hi Brandon,<br><br>Thanks for reporting this. Could you make an issue for it at <a href="https://github.com/ipython/ipython/issues">https://github.com/ipython/ipython/issues</a> , so we keep track of it?<br><br>I don&#39;t think we&#39;ve got anyone regularly testing with Windows &amp; Python 3 together, so do let us know about other issues you encounter.<br>

<br>Best wishes,<br>Thomas<br><br><div class="gmail_quote">On 4 January 2012 08:55, Brandon Parsons <span dir="ltr">&lt;<a href="mailto:brandon@parsonstx.com">brandon@parsonstx.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Trying to launch the ipython-qtconsole.exe or ipython-qtconsole-script.pyw via pythonw on Python 3.2 immediately exits, and the Qt console never starts.  Running with ipython-qtconsole-script.pyw with plain python.exe works fine (and consumes the console). Fortunately, redirection stdout and stderr allows to get the traceback (well, stderr is where it went), which yields the following:<br>


<br>Traceback (most recent call last):<br>  File &quot;\Python32\Scripts\ipython3-qtconsole-script.pyw&quot;, line 9, in &lt;module&gt;<br>    load_entry_point(&#39;ipython==0.12&#39;, &#39;gui_scripts&#39;, &#39;ipython3-qtconsole&#39;)()<br>


  File &quot;C:\Python32\lib\site-packages\distribute-0.6.24-py3.2.egg\pkg_resources.py&quot;, line 337, in load_entry_point<br>    return get_distribution(dist).load_entry_point(group, name)<br>  File &quot;C:\Python32\lib\site-packages\distribute-0.6.24-py3.2.egg\pkg_resources.py&quot;, line 2280, in load_entry_point<br>


    return ep.load()<br>  File &quot;C:\Python32\lib\site-packages\distribute-0.6.24-py3.2.egg\pkg_resources.py&quot;, line 1990, in load<br>    entry = __import__(self.module_name, globals(),globals(), [&#39;__name__&#39;])<br>


  File &quot;C:\Python32\lib\site-packages\IPython\__init__.py&quot;, line 43, in &lt;module&gt;<br>    from .config.loader import Config<br>  File &quot;C:\Python32\lib\site-packages\IPython\config\loader.py&quot;, line 27, in &lt;module&gt;<br>


    from IPython.utils.path import filefind, get_ipython_dir<br>  File &quot;C:\Python32\lib\site-packages\IPython\utils\path.py&quot;, line 24, in &lt;module&gt;<br>    from IPython.utils.process import system<br>  File &quot;C:\Python32\lib\site-packages\IPython\utils\process.py&quot;, line 25, in &lt;module&gt;<br>


    from ._process_win32 import _find_cmd, system, getoutput, AvoidUNCPath, arg_split<br>  File &quot;C:\Python32\lib\site-packages\IPython\utils\_process_win32.py&quot;, line 30, in &lt;module&gt;<br>    from . import text<br>


  File &quot;C:\Python32\lib\site-packages\IPython\utils\text.py&quot;, line 30, in &lt;module&gt;<br>    from <a href="http://IPython.utils.io" target="_blank">IPython.utils.io</a> import nlprint<br>  File &quot;C:\Python32\lib\site-packages\IPython\utils\io.py&quot;, line 90, in &lt;module&gt;<br>


    stdin = IOStream(sys.stdin)<br>  File &quot;C:\Python32\lib\site-packages\IPython\utils\io.py&quot;, line 32, in __init__<br>    raise ValueError(&quot;fallback required, but not specified&quot;)<br>ValueError: fallback required, but not specified<br>


<br>I was confused why nobody had seen this before, but come to find out it&#39;s a Python 3 vs 2 issue.  sys.std* are now None for pythonw processes in Python 3.x, while they were file objects with fileno == -2 on Python 2.x.  Regular old prints will work when stdout/stderr are None, but they just get discarded immediately, but of course any attribute lookups are going to fail.<br>


<br>This simple script run with pythonw (on v2 and v3) highlights the difference:<br># this will show what the std* file handles are on Python 2.x vs Python 3.x<br># noted @ <a href="http://bugs.python.org/issue1415" target="_blank">http://bugs.python.org/issue1415</a><br>


import sys<br><br>fname = &#39;python%d_std_fds.txt&#39; % (sys.version_info[0])<br>f = open(fname, &#39;w&#39;)<br><br>if sys.stdin is None:<br>    f.write(&quot;stdin: None\n&quot;)<br>else:<br>    f.write(&quot;stdin: %i\n&quot; % sys.stdin.fileno())<br>


if sys.stdout is None:<br>    f.write(&quot;stdout: None\n&quot;)<br>else:<br>    f.write(&quot;stdout: %i\n&quot; % sys.stdout.fileno())<br>if sys.stderr is None:<br>    f.write(&quot;stderr: None\n&quot;)<br>else:<br>    f.write(&quot;stderr: %i\n&quot; % sys.stderr.fileno())<br>


f.close()<span class="HOEnZb"><font color="#888888"><br><br>brandon<br>
</font></span><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>
<br></blockquote></div><br>