[Tkinter-discuss] python 3.1 - tkinter 8.4 - no tile?
kw at codebykevin.com
Wed Aug 4 23:23:28 CEST 2010
On 8/4/10 11:13 AM, David Cortesi wrote:
> I have Xcode installed on one of my macs, but not on the laptop where I
> meant to experiment with Py 3 and Tk.
> I had hoped, since Tk is the default, expected, distributed-with-python
> GUI framework (so says the python wiki) that it would "just work." On
> the contrary, it appears that to make it work, I will have to install
> Xcode, and figure out how to do an install of this package. And there
> are several unknowns in that install, for OS X, beginning with, where in
> /Library to put it, or if not in /Library, where? Wherever, I also have
> to edit my .login to set PYTHONPATH appropriately so it can be found.
> It seems to me this all amounts to quite a steep barrier for someone to
> climb, just in order to try out the supposed default GUI.
I believe that the system build of Python 2.6 on Snow Leopard (the one
installed by Apple) is linked against Tk 8.5, which includes the ttk
widgets. You'd still need to install the Python ttk wrapper module from
http://code.google.com/p/python-ttk/, but that's easier than building
the Tile module from scratch. Just download the code, and run "sudo
/usr/bin/python setup.py install" and you should be in business.
> To me, the really puzzling question is, since this has been the case for
> several years (based on the history of the same error being encountered
> repeatedly), why is the very latest Python apparently being distributed
> with tkinter 8.4 but without tile?
The maintainers of the Mac build of Python from Python.org (not the same
as the system install of Python included by Apple) decided to keep their
build of Python linked to 8.4 for backward compatibility--that build of
Python has to support several versions of OS X. While they do distribute
Tkinter, they don't include the Tcl/Tk libraries that Tkinter depends
on--those are installed by Apple. Apple's installation of Tcl/Tk 8.4
doesn't include Tile for whatever reason, hence, Python's ttk module
Code by Kevin
More information about the Tkinter-discuss