[Edu-sig] IDLE Instabilities Update
John Zelle
john.zelle at wartburg.edu
Tue Dec 28 05:15:48 CET 2004
For those of you who have been having trouble with IDLE hanging
(especially under Windows), I think one nasty glitch has now been ironed
out. I posted a bug report on the idle-dev list and got a very prompt
and thorough reponse from Kurt Kaiser who is apparently responsible for
much (most?) of the current subprocess communication code. It turns out
that the problem I found was quite old and not in the subprocess code at
all, but a fix has now been checked in.
Kurt sent me a patch for the idlelib/PyShell.py file. I have applied it
against versions 1.03 and 1.1 of IDLE sucessfully. If you are interested
in using this patch before the next version of Python is released, I
have put the patch and patched versions of PyShell.py here:
http://mcsp.wartburg.edu/zelle/IDLE
Kurt believes that IDLE is actually very stable now, and I suspect that
a lot of the troubles people have been reporting are the result of this
bug that was just squashed (at least the problems that I've noticed in
our lab were). I'd encourage any of you who use IDLE to patch your
PyShell.py files (or drop in my replacement) and continue using IDLE.
There is one remaining known issue on Windows. Due to a quirk in the
underlying Windows socket code, it is apparently possible to have
multiple (partial) starts of IDLE running at the same time, all bound to
the same socket. This is very bad :-). For the moment, you just need to
be sure to only have one copy of IDLE running at a time. My standard
operating procedure is to start IDLE first, and then just load whatever
files I want to work on. I keep IDLE running for my entire session, and
have not had any problems.
I'd be interested in hearing any feedback on whether this patch has made
IDLE more workable for any of you. Also, if you are still finding
instabilities in IDLE, we should try hard to track them down. At least
some of the IDLE developers are keenly interested in stability. If we
can track problems down, I think they will get fixed in realtively short
order.
Oh, and if you are using my graphics library interactively in IDLE on
Windows, the graphics window will be unresponsive any time IDLE is
waiting for input. This is annoying, but I haven't had a chance to
rework my library yet for the new IDLE (it will probably require
multiple threads, another topic of recent interest on edu-sig :-).
--John
ps. I came into the "learn to program in 10 years" thread late, so I did
not bother to post, although there was much there of interest to me.
Just for the record:
1. I really, really like KDE. IMHO it's better than aqua (honest) so you
can keep your macs; I'll run on the cheap hardware :-)
2. I have noodled around a bit with PyQT (really should be QTPy don't
you think ;-), and it seems very nice. The OpenGL widget works as
advertised, and you can design GUIs with the standard QTdeveloper tools
and convert to Python boiler plate (or parse them dynamically) much like
Glade for gtk.
3. There are no license problems at all with QT on any platform, as long
as you are not developing commercially. On Windows, you do need to
license the widgets for commercial development (it's free on Linux, not
sure on Mac).
4. I also want to do some things where VPython is embedded in other apps
(specifically a Stereo 3D presentation system). However, Vpython is just
one of several packages that I'd like to use. I am probably going to
sacrifice portability and use X Window's ability to manipulate other
windows (ala a window manager or plugger). Hopefully, some work on this
will happen this Spring.
5. Software patents are ludicrous. Mathematical theorems are not
patentable, neither should algorithms be. Unfortunately, the USPO has
gone so far up this wrong road that it's hard to see how we will
extricate ourselves. Let's hope the EU does the right thing. All of us
need to keep up the fight on this issue in any small way we can.
More information about the Edu-sig
mailing list