[issue19373] Tkinter apps including IDLE may not display properly on OS X 10.9 Mavericks

Ned Deily report at bugs.python.org
Thu Oct 24 08:32:31 CEST 2013


New submission from Ned Deily:

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

----------
assignee: ned.deily
components: IDLE, Macintosh, Tkinter
messages: 201093
nosy: ned.deily
priority: normal
severity: normal
status: open
title: Tkinter apps including IDLE may not display properly on OS X 10.9 Mavericks
type: behavior
versions: Python 2.7, Python 3.3, Python 3.4

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue19373>
_______________________________________


More information about the Python-bugs-list mailing list