Author ned.deily
Recipients ned.deily
Date 2013-10-24.06:32:31
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1382596351.85.0.389017245767.issue19373@psf.upfronthosting.co.za>
In-reply-to
Content
On OS X 10.9 Mavericks, there is a problem with Aqua Cocoa Tk 8.5 (8.5.15 or earlier) when run in 64-bit mode, the default for most applications.  The symptoms are that Tk widgets may not be properly drawn or updated on the screen unless some HID activity takes place, like mousing over the widget or by entering text via the keyboard.  Since the problem can also be reproduced using the Tk wish shell, it is not a Python problem but it can have an impact on Tkinter-based applications, like IDLE.  The problem is being tracked by the Tk project here:

https://core.tcl.tk/tk/tktview?name=53f7a1b553

The problem affects current and recent third-party Tk 8.5.x releases, such as the ActiveTcl 8.5.15 recommended for use with current python.org 3.3.2 and 2.7.5 installers. It also affects the Built-in 8.5.x Tcl/Tk included with pre-release python.org 3.4.x installers.  It appears that the problem does not affect the Apple Tk 8.5.9 shipped with OS X 10.9, which is used by the system Pythons included in OS X 10.9.  However, as in recent previous OS X releases, the Apple 8.5.9 Tk has serious problems so its use is not recommended: see http://www.python.org/download/mac/tcltk/ for more information.

This issue will be updated as solutions become available.  In the meantime, there are some workarounds:

1. Run Tkinter applications in 32-bit mode.  If you are using Python 2.7.x, 3.2.x, 3.3.x, or 3.4.x from one of the python.org "Mac OS X 64-bit/32-bit x86-64/i386 Installers", the easiest way to do this is to append "-32" to the python command name:

/usr/local/bin/python3.4   ->  /usr/local/bin/python3.4-32
/usr/local/bin/python3.3   ->  /usr/local/bin/python3.3-32
/usr/local/bin/python2.7   ->  /usr/local/bin/python2.7-32

If you are using a Python from a python.org "Mac OS X 32-bit i386/PPC Installer", you will not see this problem; but keep in mind that those Pythons are linked with Tcl/Tk 8.4 for compatibility with older OS X releases.

2. If you launch IDLE from a 64-bit-capable installation by double-clicking on its icon in the 10.9 Finder, you may see this problem. (Due to a quirk, IDLE 2.7 launched this way may not be affected.)  You can force IDLE 3.x to run in 32-bit mode by launching it from a Terminal window instead of double-clicking.  For Python 3.x, try

/usr/local/bin/python3.3-32 -m idlelib

/usr/local/bin/python3.4-32 -m idlelib

For Python 2.7.x, if you need to launch from the command line rather than double-clicking, try:

/usr/local/bin/python2.7-32 /usr/local/bin/idle2.7
History
Date User Action Args
2013-10-24 06:32:31ned.deilysetrecipients: + ned.deily
2013-10-24 06:32:31ned.deilysetmessageid: <1382596351.85.0.389017245767.issue19373@psf.upfronthosting.co.za>
2013-10-24 06:32:31ned.deilylinkissue19373 messages
2013-10-24 06:32:31ned.deilycreate