On Sep 26, 2006, at 4:51 PM, Bob Ippolito wrote:

> On 9/26/06, Dave Reed <[EMAIL PROTECTED]> wrote:
>>
>> On Sep 25, 2006, at 6:31 PM, Russell E Owen wrote:
>>
>> > At 5:26 PM -0400 2006-09-25, [EMAIL PROTECTED] wrote:
>> >> I'm very interested in this and would be happy to help with
>> >> testing. I teach Python at the college level using John Zelle's
>> >> Python book (it uses Tk for simple GUI programs). Most of the
>> >> programs run fine, but some of the more complex ones crash
>> >> intermittently within Tk. The same program seems to run fine on
>> >> Windows using 2.4.3 although it does crash intermittently on
>> >> CentOS 4.3 within Tk.
>> >>
>> >> In the meantime, are you saying the simplest solution for my
>> >> students with Macs is to use ActiveState (some have G4 laptops and
>> >> some have Intel based laptops)?
>> >>
>> >> I have a G5 running 10.3.9 at work (IT isn't planning to upgrade
>> >> yet) and a G5 running 10.4.x at home so I'll be happy to test on
>> >> both of those.
>> >
>> > If it's bugs in Tcl/Tk that are causing the crashes then by all
>> > means I would try:
>> > - Install ActiveState Tcl/Tk 8.4.11 or 8.4.13.
>> > - Install MacPython (it's better than the one from Apple, plus
>> > you're about to modify python, and you shouldn't modify anything
>> > in /System)
>> > - Modify _tkinter.so according to Bob Ippolito's recipe. At the
>> > command line:
>> >
>> > install_name_tool \
>> >      -change /System/Library/Frameworks/Tcl.framework/Versions/8.4/
>> > Tcl \
>> >              /Library/Frameworks/Tcl.framework/Versions/8.4/Tcl \
>> >      -change /System/Library/Frameworks/Tk.framework/Versions/ 
>> 8.4/Tk \
>> >              /Library/Frameworks/Tk.framework/Versions/8.4/Tk \
>> > /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/ 
>> lib-
>> > dynload/_tkinter.so
>> >
>> > The above command should be six lines long; you'll probably have to
>> > unwrap at least the last line.
>> >
>> > An alternative is to install ActiveState Python instead of
>> > MacPython, because it works with ActiveState Tcl/Tk "out of the
>> > box". But it doesn't include readline. You can add readline, but I
>> > think it's easier to fix _tkinter.so.
>> >
>> > -- Russell
>>
>>
>> I installed ActiveState Tcl and MacPython 2.4.3 on the 10.3.9
>> machine. The /Systems/Library/Frameworks/Tk.framework directory does
>> not exist (the Tcl.Framework directory does so I tried the above
>> install_name_tool line with just the Tcl lines (and the final line
>> with ._tkinter.so).
>>
>> I can't get some Tk programs to run now. Using the graphics.py  
>> file at:
>> http://mcsp.wartburg.edu/zelle/python/graphics.py
>>
>> I get:
>>
>>
>> $ /usr/local/bin/python
>> Python 2.4.3 (#1, Apr  7 2006, 10:54:33)
>> [GCC 4.0.1 (Apple Computer, Inc. build 5250)] on darwin
>> Type "help", "copyright", "credits" or "license" for more  
>> information.
>>  >>> import graphics
>>  >>> Tk_MacOSXSetupTkNotifier: first [load] of TkAqua has to occur in
>> the main thread!
>> Abort trap
>>
>> Does anyone still have a 10.3.9 system to try importing that
>> graphics.py file and see if it works for them? Any thoughts on making
>> it work? I have an old python 2.3.5 from fink that does import
>> graphics.py ok and works fine for many simple programs but crashes on
>> more complicated programs.
>>
>> I have not yet tried it on the 10.4.7 G5 yet.
>
> From that warning, it appears that the way graphics.py uses threads is
> not compatible with TkAqua. It either needs to be refactored to do its
> graphics stuff in the main thread, or you need to use an X11 Tk.
>
> -bob

Thanks Bob and Ronald.

There's an alternate version of the graphics.py file (graphics22.py)  
here:

http://mcsp.wartburg.edu/zelle/python/

that says it is non-threaded, but I thought I tried it at work on the  
10.3.9 system and got the same error (I'll double check tomorrow). I  
believe the separate thread was used because it caused fewer problems  
with idle on Windows, but I'll have to check with John Zelle to be  
certain.

Dave


_______________________________________________
Pythonmac-SIG maillist  -  Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig

Reply via email to