How come wxPython isn't in the standard library?
rogerb at rogerbinns.com
Mon Nov 8 02:17:49 CET 2004
James Stroud wrote:
[Tale of RPM hell, Linux library version hell elided]
> Lets try to see things with naieve eyes: how do we think an END USER
> with few administrative priveleges but operating system choices might
> respond to a situation like this? Right! He'll use M$
A lot of what you experienced is due to the design and implementation
of Windows. Microsoft puts a lot of effort into binary backwards
compatibility. It is why only one Python installer needs to be made
and can support every version of Windows since Win 95.
In the Linux world, very little effort is put into binary backwards
compatibility for libraries, because things can just be recompiled.
You were a victim of that.
But it isn't Python's place to try to fix that. Recognising it as
a problem, the number one feature of almost every new Linux distro
is rescuing users from packaging and versioning issues. I'll
leave it up to your judgement as to whether any succeeded.
> Now I think we understand why graphics libraries might have a tough
> time making it into a standard distro. Personally, as an end user who
> only wants to use a program and not re-compile his kernel and such, I
> vote for tweaking out tkinter and making Tcl/Tk/blt/etc. part of the
> standard distro with that 18 mb otherwise required for wxPython (as
> cool as wx might be). One installer, wham-bam-program.
The reason why tkinter/Tk doesn't have such library issues is because
it doesn't use many libraries under the hood. It draws the widgets
itself, has less interoperability with printing, drag and drop,
internationalization, online help, inter-process communication, clipboard,
themes, preferences etc. As such it is perfect for simpler apps
and a good reason for being in the standard lib.
But if you want to "tweak out" tkinter so it did all that stuff, you'd
be re-implementing all those libraries (a considerable amount of work)
or using them, bringing everything back to square one!
More information about the Python-list