[Distutils] thoughts on distutils 1 & 2 (addendum)

Mark W. Alexander slash at dotnetslash.net
Wed May 19 13:33:21 EDT 2004


On Wed, May 19, 2004 at 05:14:57PM +0100, has wrote:
> Also, removing metadata from setup scripts means that most of the 
> time 'install.py' will be a completely generic script that can be 
> automatically added to the .zip at build-time; one less thing for the 
> module developer to have to do themselves.

You keep saying "the .zip" as if that's the only, or possibly prefered,
distribution mechanism. It sounds as if your exposure to heterogenous
systems is pretty limited and I think you are imposing the limitations
of your view onto Distutils.

Your recurring recommendations for monolithic scripts, such as build.py,
install.py, whatever.py also seems to be a step backward from Distutils
current capabilities. The functionality I think you intend by these
scripts is already integrated in Distutils. It is accomplished by
subclassing the build and install command classes or their helper
commands. In an object oriented language, this is the appropriate way to
re-use code; Not to have to include duplicate scripts in each package's
source tree.

Please review some more setup.py scripts. I agree that metadata should
be provided in a consistent place (e.g. setup.py or setup.cfg but not
both) but if you review most setup.py scripts, you'll find what is
simply a function call that passes metadata to classes that do
everything you're describing and more. In more complex cases, you'll see
the same function call, referencing user-supplied subclasses of internal
commands that don't quite do what the author needs. I'll also agree that
how this is done is not inuitive, nor well documented, but it works
none-the-less.

I appreciate that your suggestions are based on your experience with
Distutils. It seems to me however, that your experience is limited and
some of the suggestions you are proposing will impose severe limitations
on those of us that deal with more diverse environments.

mwa
-- 
Mark W. Alexander
slash at dotnetslash.net

The contents of this message authored by Mark W. Alexander are
released under the Creative Commons Attribution-NonCommercial license.
Copyright of quoted materials are retained by the original author(s).

http://creativecommons.org/licenses/by-nc/1.0/



More information about the Distutils-SIG mailing list