#42191: python*: IDLE requires py*-tkinter -------------------------------------------------+------------------------- Reporter: LenoreHorner@… | Owner: jwa@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.1 Resolution: | Keywords: Port: python24 python25 python26 | python27 python31 python32 python33 python34 | -------------------------------------------------+------------------------- Comment (by nad@…): IDLE is included in the Python standard library under `idlelib`, so it is found in `/opt/local/Library/Frameworks/Python[...]/lib/pythonX.Y/idlelib`. It is pure Python so it is not built per se, other than the usual byte-compile optimizations during installation. There are multiple ways to invoke IDLE on OS X: 1. `python3.N -m idlelib`; 2. `/opt/local/bin/idleM.N` and aliases; and 3. launching `IDLE.app` which is a thin shell into item 1. Upstream, we don't make it easy to optionally install IDLE, or tkinter for that matter, because neither is intended to be an optional component. That said, if you really do want to make it optional, I suppose it would be better to kill two birds with one stone: you could possibly add a dummy tkinter.py (for Py3) or Tkinter.py (for Py2) that is replaced by the `pyMN-tkinter` port. Unfortunately, only raising an exception in it isn't very user friendly for people trying to launch `IDLE.app`; in that case, the output of `stderr` only ends up in `system.log` and the user has no obvious explanation why it failed (unlike with 1 and 2 where the traceback would show up in the terminal session). So, to do it right, the dummy tkinter.py should probably in addition try to create a GUI error message, perhaps using AppleScript. -- Ticket URL: <https://trac.macports.org/ticket/42191#comment:4> MacPorts <http://www.macports.org/> Ports system for OS X