[Distutils] Comments on PEP 426

Oscar Benjamin oscar.j.benjamin at gmail.com
Sat Aug 31 17:31:10 CEST 2013


On 31 August 2013 16:03, Antoine Pitrou <solipsis at pitrou.net> wrote:
> Oscar Benjamin <oscar.j.benjamin <at> gmail.com> writes:
>>
>> > 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?

Because there's no maintainer to commit or reject a patch (unless I've
misunderstood your comment above).

>> > 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.

Well thousands may be an exaggeration :)

>> 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).

True.

> 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.

Yes they do. Our trick at my work is to have professionals build
everything for the obscure setups. My experience with building is just
about installing on my own Windows/Ubuntu desktop machines.

The point I was making is really that breakage occurs on a per-user
basis rather than a per-project basis. Reasoning about what a change
in distutils will do is hard because you're trying to reason about end
user setups rather than just large well-maintained projects. A new
build tool outside the stdlib wouldn't be anywhere near as
constrained.


Oscar


More information about the Distutils-SIG mailing list