GUIs - A Modest Proposal

Steven D'Aprano steve-REMOVE-THIS at cybersource.com.au
Wed Jun 9 00:29:36 EDT 2010


On Tue, 08 Jun 2010 18:12:05 -0700, geremy condra wrote:

> I didn't argue that Tcl is bad. I argued that a dependency on it is bad
> for python. Would you argue that Python should ship with Perl and Java
> because there are best-of-breed tools in those languages and python
> could leverage that? Of course not.

Surely that depends on the tool, how difficult it would be for Python to 
duplicate the functionality, and how important it is to provide the tool 
as a standard product.

In any case, Python doesn't ship with Tcl and Tk. They are dependencies 
*only if you use Tkinter*. It's not compulsory.


[steve at sylar ~]$ python2.6
Python 2.6.4 (r264:75706, Feb  1 2010, 13:33:07)
[GCC 4.1.2 20070925 (Red Hat 4.1.2-27)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Tkinter
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.6/lib-tk/Tkinter.py", line 39, in <module>
    import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named _tkinter


Now, we might argue that the Python standard library "must" have a GUI 
toolkit, in which case it's going to have some non-trivial dependency. I 
don't see why it's so much worse to depend on Tcl/Tk compared to some 
other external toolkit.

And even if it were undesirable to rely on any external toolkit, I don't 
think it's terribly likely that with the resources available to the PSF 
anyone is going to create Yet Another GUI Toolkit specifically for 
Python. We might agree that, in a perfect world, it would be nice if 
Python had no external dependencies at all (well, apart from the OS of 
course), but it isn't going to happen anytime soon. Not unless you're 
volunteering? :)


-- 
Steven



More information about the Python-list mailing list