[MacPorts] #42191: python*: IDLE requires py*-tkinter
MacPorts
noreply at macports.org
Thu Apr 3 13:36:55 PDT 2014
#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
More information about the macports-tickets
mailing list