[Distutils] Current weaknesses

Greg Ward gward@cnri.reston.va.us
Mon, 29 Mar 1999 21:46:26 -0500

Well, it's been about a week since I announced the first bundle of
Distutils code.  Haven't heard much back yet, so I assume that it has
worked for those of you who tried it.  Has anyone really dived in and
started poking around the code?  If so, you must have stumbled across
some of the difficulties I had, including:

  * it doesn't seem like there's a way to control whether 'compile'
    generates .pyc or .pyo files
  * worse, it doesn't look like there's even a way to find out
    what 'compile' will generate!
  * the command options describing installation directories are
    haphazard at best.  The problem is, I know pretty much what to call
    platform-specific library directories: "install_platlib",
    "install_site_platlib", and so forth.  That seems in keeping with
    the Python Makefiles.  But I don't really know what to call
    non-platform-specific library directories.  I take solace in knowing
    that I am not alone; Perl's MakeMaker just calls them
    "INSTALLLIBDIR", "INSTALLSITELIB", and so forth, which is where my
    cop-out of "install_lib" and "install_site_lib" came from.  But
    this isn't really satisfactory... anyone got better ideas?
  * how do we handle copying file metadata under Mac OS?  do the
    copy routines in distutils.util work under Windows as well as they
    do under Unix?  (the code is mostly stolen from the standard shutil
    module, so if it works then my copying stuff should)
  * how should we deal with "wildcard" listing of modules in setup.py?
    Even for a moderate sized distribution like Distutils, it's
    already obvious that explicitly listing every module in the
    distribution is a no-go.  See the comments in setup.py for
    some of my thinking on this matter.

More importantly, has anyone gotten deeply confused by trying to
associate the code with my two-month-old design proposal?  I still need
to revisit that document to make sure I haven't grossly violated any of
its principles (and change the principles to match the violation if so
;-), so if anybody is getting confused it's probably not just you.

Hope to hear some comments soon!

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