[Distutils] Comments on PEP 426

Antoine Pitrou solipsis at pitrou.net
Sat Aug 31 15:24:13 CEST 2013

Oscar Benjamin <oscar.j.benjamin <at> gmail.com> writes:
> It will always be possible to ship a setup.py script that can
> build/install from an sdist or VCS checkout. The issue is about how to
> produce an sdist with a setup.py that is guaranteed to work with past,
> current, and future versions of distutils/pip/setuptools/some other
> installer so that you can upload it to PyPI and people can run 'pip
> install myproj'. It shouldn't be necessary for the package author to
> use distutils/setuptools in their setup.py just because the user wants
> to install with pip/setuptools or vice-versa.

Agreed... But then, deprecating setup.py in favour of setup.cfg is a
more promising path for cross-tool compatibility, than trying to promote
one tool over another.

> Distutils is tied down with backward compatibility because of the
> number of projects that would break if it changed. Even obvious
> breakage like http://bugs.python.org/issue12641 goes unfixed for years
> because of worries that fixing it for 10000 users would break some
> obscure setup for 100 users (no matter how broken that other setup
> might otherwise be).

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

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.



More information about the Distutils-SIG mailing list