[issue10907] OS X installer: warn users of buggy Tcl/Tk in OS X 10.6

Ned Deily report at bugs.python.org
Wed Mar 9 06:29:46 CET 2011


Ned Deily <nad at acm.org> added the comment:

"* My impression was that Python's tkinter figures out what Tcl/Tk to link to at build time, not runtime.  The table on the web site suggests I can use a pre-built Python with an ActiveTcl that I install myself later.  Is this correct?  If so, does ActiveTcl have to be present when the installer is run, or can it be installed later?"

That is correct and ActiveTcl does not have to be present during installation.  The build process determines which framework version of Tcl and Tk to link with, i.e. 8.4 vs 8.5.  However, if a 3rd-party framework build of Tcl and Tk is present in /Library/Frameworks during the build with a version matching that of the /System/Library/Frameworks, the resulting _tkinter.so binary will have the /Library path name embedded and, at run time when _tkinter is imported, OS X will search there first for suitable Tcl and Tk frameworks and, if not found, will fall back to the ones in /System/Library.

"* No recommended or alternate Tcl/Tk is indicated for 32/64 on 10.6.  But the 2.7.2 patched README indicates ActiveTcl-8.5.9 will work.  Will it not work with 2.7.1?"

No, because at the time the 2.7.1 64-bit installer was built, the Active State 8.5.9 Cocoa Tk had not been released so that installer was built without a 3rd-party Tcl/Tk present in /Library/Frameworks.  While it *is* possible to patch the _tkinter extension module using the OS X install_name_tool to change the search path (see Issue10537 for details), it is not recommended to do so.

I have expanded the tcltk web page (http://www.python.org/download/mac/tcltk/) to include information on how Python chooses which version of Tcl/Tk to link with and more information on Python 2.7.1 plus a succinct warning at the top of the page about the most problematic cases.  That completes the remaining items 4 and 6.

----------
status: open -> closed
type:  -> behavior

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


More information about the Python-bugs-list mailing list