[Python-Dev] installing IDLE & other Tools
Guido van Rossum
guido@python.org
Tue, 14 Nov 2000 08:29:17 -0500
> [Jeremy Hylton]
> > We've discussed installation of other tools once or twice, but I've
> > never decided what exactly to do. The compiler package, for example,
> > comes with a distutils setup.py script that will do the job. I think
> > the best way to move forward is to write setup.py scripts for all the
> > other tools that ought to be installed.
>
> That does seem reasonable. It seems the most non-intrusive, since we
> get out of the way of proffessional packages, while still giving them
> something to start from.
Agreed.
> > I don't know how to package up idle cleanly, though. I need to decide
> > what to install and where to install it. The Tools/idle directory is
> > nominally a package, but it doesn't seem like that will help much for
> > installing it. If we want to call the executable script idle.py, it
> > will clash with the idle package name. Any advice here? It doesn't
> > seem like there is any obvious way to "install" IDLE; it looks like it
> > is intended to be run out of the source directory.
>
> I don't think we want to call the executable script idle.py. Each platform
> will have it's own problems with it: for UNIXish stuff, call it "idle".
> For windowish stuff, it's better to call it "idle.pyw" anway. Both of those
> should *not* be in the same directory as the idle package. In the UNIX
> case it should be in $prefix/bin, and in the windows case, it should be
> where python.exe is.
For Windows, the IDLE problem is solved: it's installed in directory
<topdir>/Tools/idle/ and there's a link to it in the start menu. It's
not directly accessible from the command line -- but on Windows,
nobody cares about the command line.
Maybe we can extend this idea to Unix. Concrete proposal: install
IDLE as <prefix>/lib/python<version>/site-packages/Tools/idle/, and
place a symlink or 2-line bootstrap script in <prefix>/bin/idle.
The introduction of the extra directory level "Tools" implies that
idle is not importable as a package from regular Python. This is how
I want it -- otherwise I could/would have made IDLE a package in the
Lib/lib-tk directory instead of a directory in Tools.
I'd gladly accept a contribution of a setup.py file that does this for
me. (I looked at the distutils manual for a bit but decided that I'd
have to read it cover-to-cover to figure out whether what I want is
even possible...)
--Guido van Rossum (home page: http://www.python.org/~guido/)