[Tkinter-discuss] python 3.1 - tkinter 8.4 - no tile?

Kevin Walzer 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 
won't work.

--Kevin

-- 
Kevin Walzer
Code by Kevin
http://www.codebykevin.com


More information about the Tkinter-discuss mailing list