[Distutils] Builders vs Installers

Paul Moore p.f.moore at gmail.com
Wed Mar 27 15:16:04 CET 2013


On 27 March 2013 14:04, Lennart Regebro <regebro at gmail.com> wrote:
> On Wed, Mar 27, 2013 at 2:57 PM, Daniel Holth <dholth at gmail.com> wrote:
>> Is it too convenient? The tool knows how to find sources, compile
>> them, and install them. It will delegate all the work to the actual
>> build system.  If pip was a pure installer without a way to invoke a
>> build system then it wouldn't be able to install from sdist at all.
>
> All of that should be implemented in a library that pip can use. So
> this is only a question of a conceptual difference between different
> tools.
>
> It makes no sense to have a tools for developers that does everything
> including running building, running tests and packaging, and another
> tool that does nothing but installs, and creates wheel packages.
>
> Making wheels should be a part of the tool using for packaging, not
> the tool used for installing.

But sometimes practicality beats purity. As an end user who wants to
just install packages, but who knows that not everything will be
available as wheels, I need to be able to build my own wheels. But I
don't want a full development tool. Having the install tool able to do
a download and build from sdist is a huge convenience to me.

Of course if someone builds a "wheelmaker" tool that did precisely
what "pip wheel" did, I would have no objections to using that. But
even then, the mere existence of another tool doesn't seem to me to be
enough justification for removing functionality from pip. If pip wheel
didn't exist, and someone had written wheelmaker, I would not be
arguing to *add* pip wheel. But it's there already and there's a much
higher bar for removing useful functionality.

Paul


More information about the Distutils-SIG mailing list