[Distutils] I browsed through the distutils source!

Greg Ward gward@cnri.reston.va.us
Tue, 30 Mar 1999 14:01:03 -0500

Quoth Martijn Faassen, on 30 March 1999:
> I just installed CVS on this win95 system at work, downloaded the
> distutils source, and read through the sources some. It looks pretty
> neat. I haven't actually tried *running* distutils yet on this windows
> box, but I'll try to get to that later this week and give you all a
> report on what happened.

There's not much to running it; from the top distutils directory, do:

  ./setup.py build

should work pretty much anywhere.  A slightly more risky proposition is

  ./setup.py install

which relies on distutils.sysconfig to get the installation directories;
it in turn relies on finding Python's Makefiles in the usual place.  I
have no idea if they're even installed under Win 95 -- please let me

> Greg, anything you'd like me to examine especially?

The weak spots!  Search for "XXX" in the code; I'm liberal with X-rated
comments.  Also check my "Current weaknesses" post from last night; see
if you can correlate my opinions of current problems with the code.

When it occurs to you that commands are a lot like subroutines, and then
when you start to wonder why parameter passing is done backwards, then
you'll be up to speed.  (The whole problem of communicating options
between commands was bigger than I expected.  The implementation isn't
overly complicated, but I think it'll take some bouncing around across
various classes and thinking about the alternatives before it becomes
apparent why I did it that way.)

Oh, the big reason I put the code up now is this: I think it's close to
being at a state where development can be in parallel.  The basic
framework is in place, all that's missing is a lot of commands to do the
work.  The beginnings of building and installation are in place, and
I've started thinking about the 'build_ext' command -- witness the
thread on compiler abstraction models.  But the "dist" and "bdist"
commands -- to create source and built distributions -- are important
and could easily be done by someone else.

Greg Ward - software developer                    gward@cnri.reston.va.us
Corporation for National Research Initiatives    
1895 Preston White Drive                      voice: +1-703-620-8990 x287
Reston, Virginia, USA  20191-5434               fax: +1-703-620-0913