Bugs item #1563046, was opened at 2006-09-21 10:55
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1563046&group_id=5470
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Macintosh
Group: Python 2.5
Status: Open
Resolution: None
Priority: 5
Submitted By: Russell Owen (reowen)
Assigned to: Jack Jansen (jackjansen)
Summary: MacPython ignores user-installed Tcl/Tk
Initial Comment:
MacPython ignores any user-installed Framework Tcl/Tk. This is a
significant issue for Tcl/Tk users because the Tcl/Tk included with
Tiger is buggy and really shouldn't be used.
Bob Ippolito supplied me a recipe to fix _tkinter.so:
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 \
_tkinter.so
I encapsulated this recipe into the attached python script "fixtkinter.py",
which modifies _tkinter.so to use the user's Tcl/Tk, if found.
Please consider running this script while installing MacPython. If you
want any refinements to the script, I am happy to provide them (or feel
free to modify it yourself of course).
Subtleties:
- The script uses Carbon.Folder.FSFindFolder to find the "/Library/
Framework" directory, so it should work in any country.
- The script fixes the _tkinter.so for the python that executes the script
(finding it relative to the "os" module).
- The script silently exits without doing anything if no /Library/
Framework Tcl/Tk is found. Thus it is safe to run for all MacPython
installations.
- It can safely be run more than once; it silently does not modify
_tkinter.so file the second time.
- It finds the link using ...Tcl.Framework/Versions/Current but resolves
the link before modifying _tkinter.so. So if a user upgrades a major Tcl/
Tk version the _tkinter.so file will keep using the old version. I think this
is a good thing, since compatilibility is likely to be an issue.
- It only looks for a user-installed Tcl/Tk in "/Library/Frameworks"; it
does NOT look in the user's private library (~/Library). This was
intentional, but I'm not sure it was the right decision. I'm happy to
change it, but will want some advice on the best algorithm.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1563046&group_id=5470
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com