[Distutils] Comments on PEP 426

Antoine Pitrou solipsis at pitrou.net
Sat Aug 31 17:03:25 CEST 2013


Oscar Benjamin <oscar.j.benjamin <at> gmail.com> writes:
> 
> The difference between this
> 
>     # setup.py
>     if sys.argv[1] == 'install':
>         from myproj.build import build
>         build()
> 
> and something like this
> 
>     # setup.cfg
>     [install]
>     command = "from myproj.build import build; build()"

Well, sure, this is a rather silly way to use a ini-style declarative
format. I agree we wouldn't gain anything if setup.cfg files ended up
written like this.

> > I tend to disagree. Such bugs are not fixed, not because they shouldn't /
> > can't be fixed, but because distutils isn't really competently maintained
> > (or not maintained at all, actually; Éric sometimes replies on bug entries
> > but he doesn't commit anything these days).
> 
> So is that particular issue a lost cause?

Why would it be?

> > The idea that "distutils shouldn't change" was more of a widely-promoted
> > propaganda item than a rational decision, IMO. Most setup scripts wouldn't
> > suffer from distutils changes or improvements; the few that *may* suffer
> > belong to large projects which probably have other items to solve when a
> > new Python comes out, anyway.
> 
> It's not just the setup script for a particular project. It's the
> particular combination of compilers and setup.py invocations used by
> any given user for any given setup.py from each of the thousands of
> projects that do anything non-trivial in their setup.py.

I don't know what those "thousands of projects" are. Most Python projects
don't even need a compiler, except Python itself.

> For example
> in the issue I mentioned above the spanner in the works came from PJE
> who wanted to use --compiler=mingw32 while surreptitiously placing
> Cygwin's gcc on PATH:
> http://bugs.python.org/issue12641#msg161514
> It's hard for distutils to react to outside changes in e.g. external
> compilers because of the need to try and prevent breaking countless
> unknown and obscure setups for each end user.

This sounds like a deformation of reality. Most users don't have
"unknown and obscure setups", they actually have quite standardized
and well-known ones (think Windows, OS X, mainstream Linux distros).

Sure, in some communities (scientific programming, I suppose) there
may be obscure setups, but those communities have already grown their
own bag of tips and tricks, AFAIK.

Regards

Antoine.




More information about the Distutils-SIG mailing list