[IPython-dev] Re: [SciPy-dev] Generic gui_thread + IPython: solution already exists!
Fernando Perez
Fernando.Perez at colorado.edu
Mon Nov 15 13:40:56 EST 2004
Hi guys,
Prabhu Ramachandran wrote:
>>>>>>"JH" == John Hunter <jdhunter at ace.bsd.uchicago.edu> writes:
>
>
>>>>>>"Prabhu" == Prabhu Ramachandran <prabhu_r at users.sf.net> writes:
>
> JH> Hmm. I'm not experiencing any problems with iptyhon 0.6.4 or
> JH> cvs ipython, but with the patched shell I'm getting very
> JH> frequent freezes
> [...]
>
> Sorry about the problems. This is indeed quite wierd. I did not
> realize that the Tkinter updating could cause so many problems.
Sorry that I won't be able to help with real testing on this for a day or two,
I'm a bit swamped. But I'm really excited about this working well in the end,
so at least you have my cheers :)
It would really be great to have tkinter functionality with any matplotlib
backend, since for example mayavi is a key daily tool for many people (myself,
for example). This would force me to use matplotlib with the Tk backend,
which is not the nicest.
But the freezes John is seeing are bad, and will cause end users no end of
grief. I just saw John's message about not having tkinter built with threads,
perhaps we can somehow detect this and make the code robust enough to at least
not activate the feature if threads are not in? It's better to print a
warning like "your Tk library has no thread support, so it can't coexist with
WX/GTK" than to have strange lockups.
Anyway, many thanks for this great work. I'll try to test it tomorrow
further. At least as a data point:
On my Fedora1 laptop:
[IPython]> ldd /usr/lib/python2.2/lib-dynload/_tkinter.so
libtix8.1.8.3.so => /usr/lib/libtix8.1.8.3.so (0x00be5000)
libtk8.3.so => /usr/lib/libtk8.3.so (0x0021f000)
libtcl8.3.so => /usr/lib/libtcl8.3.so (0x00b32000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00111000)
libc.so.6 => /lib/tls/libc.so.6 (0x00446000)
libitk3.2.so => /usr/lib/libitk3.2.so (0x0094b000)
libitcl3.2.so => /usr/lib/libitcl3.2.so (0x00fdb000)
libdl.so.2 => /lib/libdl.so.2 (0x00812000)
libm.so.6 => /lib/tls/libm.so.6 (0x00a7d000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00ce4000)
On my Fedora2 desktop:
planck[~]> ldd /usr/lib/python2.3/lib-dynload/_tkinter.so
libtix8.1.8.4.so => /usr/lib/libtix8.1.8.4.so (0x55025000)
libtk8.4.so => /usr/lib/libtk8.4.so (0x5505f000)
libtcl8.4.so => /usr/lib/libtcl8.4.so (0x5512c000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x551cd000)
libpthread.so.0 => /lib/tls/libpthread.so.0 (0x55295000)
libc.so.6 => /lib/tls/libc.so.6 (0x552a7000)
libdl.so.2 => /lib/libdl.so.2 (0x553c3000)
libm.so.6 => /lib/tls/libm.so.6 (0x553c8000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x001bd000)
These are both using the stock python. It appears that Fedora2 ships with
pthreads, but NOT Fedora1. So I imagine I'd have John's problems on my
laptop, but not on my desktop.
Cheers,
f
More information about the IPython-dev
mailing list