[Distutils] distlib updated - comments sought

Daniel Holth dholth at gmail.com
Mon Oct 8 19:42:22 CEST 2012


On Sat, Oct 6, 2012 at 3:44 AM, Antonio Cavallo <a.cavallo at cavallinux.eu> wrote:

> Here few lesson learnt using rpm and python at fairly large scale (http://download.opensuse.org/repositories/home:/cavallo71:/opt-python-interpreters) project of mine I wish could be of some help in thinking of a "packaging system".
> (I'm totally happy with the old-pain setup.py and I see no need to switch to anything else).

I agree that setup.py should be replaced and that Python packaging
should be better in various ways, but I think the process of replacing
the build system should take 5-10 years. I do not want to fork the 27
working dependencies of my simplest project by rewriting their
setup.py and replacing any "import pkg_resources" with a different
API. Instead, I will use binary packaging to forget about the build
system at install time and to install much more quickly, and if
setup.py is a problem, at least it's a problem less often (because
'install' is a much more common operation than 'build'). If it becomes
necessary, I (or someone) will re-implement the most used parts of the
pkg_resources API with a different back end. The strategy has nothing
to do with liking or disliking the existing popular APIs. It is only
because it takes less time than debugging and maintaining forks of my
dependencies due to a subtly incompatible new build system. (If the
new build system was not incompatible, it would not be able to improve
on setuptools and distutils.)

Eventually everyone will realize that we should be building with
Bento, and we will get better APIs that do what pkg_resources does
without confusing people with a very long single source file and the
new systems will become preferred. In the meantime there is going to
be more than one way to do it for a long time.


More information about the Distutils-SIG mailing list