[Tkinter-discuss] TkAqua issue: are threaded Python applications still possible on OS X?

Cameron Laird Cameron at phaseit.net
Thu Feb 25 14:28:52 CET 2010

On Wed, Feb 24, 2010 at 12:44:55PM -0500, sarah.nason at utoronto.ca wrote:
> For the last few weeks, I've been trying to fix a problem with the OS  
> X port of a program I'm working on, PyGraphics; since I've had no  
> luck, I'm here in search of your expertise.
> PyGraphics is a multithreaded module designed to be imported into and  
> used in computer science students' programs. It works fine on Windows  
> and Linux, and it used to function on OS X, too - but the release of  
> Snow Leopard put an end to that. TkAqua does not permit mainloop() to  
> be run on background threads, and since Wing (the IDE of choice for my  
> university) is running the application, all threads related to  
> PyGraphics are background threads by definition.
> Has anyone found any workarounds for this problem? I've looked into  
> TkX11, and have recompiled Tcl/Tk with the --disable-aqua and --with-x  
> configuration options, but that didn't help. There is a suggestion  
> that the version of Python that ships with Snow Leopard doesn't play  
> well with that version of Tk, but I've not found much documentation to  
> confirm or deny that possibility. Right now, the most viable option  
> appears to be rewriting the program to offer an unthreaded version to  
> Mac students, but that's just sad.
I chatted a bit with Jeff Hobbes about this.  We all agree that
Snow Leopard has symptoms.  In rough terms, they have to do with
interfaces; on its own, the Cocoa-based, fully-64-bit Tk is 
alleged to pass all pertinent tests.  Summary advice:  ".... try
ActiveTcl with local python, or ActivePython ..."

My impression:  this is a solvable problem, but someone might do
well to enlist explicitly the engagement of the ActivePython
specialists at ActiveTcl.

More information about the Tkinter-discuss mailing list