[Python-Dev] Drop/deprecate Tkinter?

Ronald Oussoren ronaldoussoren at mac.com
Wed May 2 17:19:42 EDT 2018



> On 2 May 2018, at 22:51, Ivan Pozdeev via Python-Dev <python-dev at python.org> wrote:
> 
> As https://bugs.python.org/issue33257 and https://bugs.python.org/issue33316 showed, Tkinter is broken, for both Py2 and Py3, with both threaded and non-threaded Tcl, since 2002 at least, and no-one gives a damn.

The second issue number doesn’t refer to a Tkinter issue, the former is about a month old and has reactions from a core developer. That’s not “nobody cares”. 

> 
> This seems to be a testament that very few people are actually interested in or are using it.

Not necessarily, it primarily reflects that CPython is volunteer-driven project.  This appears to be related to the interaction of Tkinter and threads, and requires hacking on C code.  That seriously shrinks the pool of people that feel qualified to work on this.

> 
> If that's so, there's no use keeping it in the standard library -- if anything, because there's not enough incentive and/or resources to support it. And to avoid screwing people (=me) up when they have the foolishness to think they can rely on it in their projects -- nowhere in the docs it is said that the module is only partly functional.

Tkinter is used fairly often as an easily available GUI library and is not much as you imply. 

I don’t know how save calling GUI code from multiple threads is in general (separate from this Tkinter issue), but do know that this is definitely not save across platforms: at least on macOS calling GUI methods in Apple’s libraries from secondary threads is unsafe unless those methods are explicitly documented as thread-safe.

Ronald

> 
> -- 
> 
> Regards,
> Ivan
> 
> _______________________________________________
> Python-Dev mailing list
> Python-Dev at python.org
> https://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: https://mail.python.org/mailman/options/python-dev/ronaldoussoren%40mac.com



More information about the Python-Dev mailing list