Tkinter.event.widget: handler gets name instead of widget.

Peter Otten __peter__ at
Sat Jul 14 09:47:30 CEST 2012

Terry Reedy wrote:

> On 7/13/2012 4:24 PM, Frederic Rentsch wrote:
>> On Fri, 2012-07-13 at 09:26 +0200, Peter Otten wrote:
>>> Another random idea: run your code on a more recent python/tcl
>>> installation.
> That might have been clearer as python + tcl/tk installation.

Yes, sorry; I meant that both the python and tcl/tk version matter.
You can find out the latter with

$ python -c 'import Tkinter as tk; print tk.TclVersion, tk.TkVersion'
8.5 8.5

>>     I next spent a day with an attempt to upgrade to Python 2.7.3,
>> figuring that that might simultaneously take care of upgrading tcl.
> No, two completely separate actions.
>> ... build finished, but the necessary bits to build these modules were
>> not found:
>> _bsddb
>> _curses
>> _curses_panel
>> _sqlite3
>> _ssl
>> _tkinter
>> bsddb185
>> bz2
>> dbm
>> gdbm
>> readline
>> sunaudiodev
> I believe _tkinter is the only one of those you need to run idle.
> You need tcl/tk installed/compiled first to compile python with
> _tkinter. Easier on *nix than windows. Many *nix systems come with
> tcl/tk or easily install it with their package managers (same with some
> of the other prerequisites for other modules).

If you don't want to compile tcl/tk yourself you need to install the tk-dev 
package. I recommend that you install libreadline-dev, too -- without 
readline it is painful to use the interactive interpreter.

More information about the Python-list mailing list