[Python-ideas] High time for a builtin function to manage packages (simply)?

Andrew Barnert abarnert at yahoo.com
Mon Sep 7 14:03:18 CEST 2015


On Sep 7, 2015, at 04:33, Stephen J. Turnbull <stephen at xemacs.org> wrote:
> 
> Terry Reedy writes:
> 
>> My impression is that MacParts builds Tkinter 8.6 instead of 8.5.
> 
> If you mean that MacPorts' current Tcl and Tk ports install Tcl/Tk 8.6,
> that is correct.
> 
>> Mac users who download the PSF Mac installer and want to use tkinter 
>> should read
>> https://www.python.org/download/mac/tcltk/
> 
>> The page mentions that there may be a window update problem with the 
>> apple tk.
> 
> It also mentions that various Tk versions "in common use" are
> unsupported by the python.org-installed Python, and in particular not
> the Cocoa Tk.  I suppose it's not hard to do that?  Or maybe chances
> are that the X11 and Cocoa Tks "just work", but aren't tested for the
> Mac installers?

It's not just a matter of "not tested"; there are actual glitches with some of the versions, including two pretty serious ones that can lead to a freeze, or to some window management commands being ignored.

But once you have some experience with it, and enough test machines of course, it's not actually that hard to build a binary-shippable GUI app that avoids all of these problems and runs against any of Apple's Tk versions from 10.6+ and against the Python.org recommended versions (which I know, because I've done it, at least with Python 2.7 and 3.3).

Making it work reliably from the REPL, or for a script that's not wrapped as a .app, is definitely a lot less fun. But people who want to install from within the REPL or the system shell probably don't want the GUI.

I don't know about making it work reliably from within IDLE. I don't see any reason IDLE couldn't just launch a .app on Mac if that's a problem, but you have to remember the extra fun bit that the app will get its environment from LaunchServices, not IDLE, so you'd need some other way to tell it to use the current venv. (Possibly this just means the app is linked into the venv?)


More information about the Python-ideas mailing list