[IPython-User] Windows GUI only (pythonw) bug for IPython on Python 3.x

Thomas Kluyver takowl@gmail....
Wed Jan 4 08:13:40 CST 2012


Hi Brandon,

Thanks for reporting this. Could you make an issue for it at
https://github.com/ipython/ipython/issues , so we keep track of it?

I don't think we've got anyone regularly testing with Windows & Python 3
together, so do let us know about other issues you encounter.

Best wishes,
Thomas

On 4 January 2012 08:55, Brandon Parsons <brandon@parsonstx.com> wrote:

> 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:
>
> Traceback (most recent call last):
>   File "\Python32\Scripts\ipython3-qtconsole-script.pyw", line 9, in
> <module>
>     load_entry_point('ipython==0.12', 'gui_scripts',
> 'ipython3-qtconsole')()
>   File
> "C:\Python32\lib\site-packages\distribute-0.6.24-py3.2.egg\pkg_resources.py",
> line 337, in load_entry_point
>     return get_distribution(dist).load_entry_point(group, name)
>   File
> "C:\Python32\lib\site-packages\distribute-0.6.24-py3.2.egg\pkg_resources.py",
> line 2280, in load_entry_point
>     return ep.load()
>   File
> "C:\Python32\lib\site-packages\distribute-0.6.24-py3.2.egg\pkg_resources.py",
> line 1990, in load
>     entry = __import__(self.module_name, globals(),globals(), ['__name__'])
>   File "C:\Python32\lib\site-packages\IPython\__init__.py", line 43, in
> <module>
>     from .config.loader import Config
>   File "C:\Python32\lib\site-packages\IPython\config\loader.py", line 27,
> in <module>
>     from IPython.utils.path import filefind, get_ipython_dir
>   File "C:\Python32\lib\site-packages\IPython\utils\path.py", line 24, in
> <module>
>     from IPython.utils.process import system
>   File "C:\Python32\lib\site-packages\IPython\utils\process.py", line 25,
> in <module>
>     from ._process_win32 import _find_cmd, system, getoutput,
> AvoidUNCPath, arg_split
>   File "C:\Python32\lib\site-packages\IPython\utils\_process_win32.py",
> line 30, in <module>
>     from . import text
>   File "C:\Python32\lib\site-packages\IPython\utils\text.py", line 30, in
> <module>
>     from IPython.utils.io import nlprint
>   File "C:\Python32\lib\site-packages\IPython\utils\io.py", line 90, in
> <module>
>     stdin = IOStream(sys.stdin)
>   File "C:\Python32\lib\site-packages\IPython\utils\io.py", line 32, in
> __init__
>     raise ValueError("fallback required, but not specified")
> ValueError: fallback required, but not specified
>
> I was confused why nobody had seen this before, but come to find out it'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.
>
> This simple script run with pythonw (on v2 and v3) highlights the
> difference:
> # this will show what the std* file handles are on Python 2.x vs Python 3.x
> # noted @ http://bugs.python.org/issue1415
> import sys
>
> fname = 'python%d_std_fds.txt' % (sys.version_info[0])
> f = open(fname, 'w')
>
> if sys.stdin is None:
>     f.write("stdin: None\n")
> else:
>     f.write("stdin: %i\n" % sys.stdin.fileno())
> if sys.stdout is None:
>     f.write("stdout: None\n")
> else:
>     f.write("stdout: %i\n" % sys.stdout.fileno())
> if sys.stderr is None:
>     f.write("stderr: None\n")
> else:
>     f.write("stderr: %i\n" % sys.stderr.fileno())
> f.close()
>
> brandon
>
> _______________________________________________
> IPython-User mailing list
> IPython-User@scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-user
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.scipy.org/pipermail/ipython-user/attachments/20120104/03d99195/attachment-0001.html 


More information about the IPython-User mailing list