[Distutils] Builders vs Installers

Daniel Holth dholth at gmail.com
Wed Mar 27 15:16:52 CET 2013


On Wed, Mar 27, 2013 at 10:04 AM, 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.

It kindof works this way already. Pip doesn't include any of the
actual wheel building logic, it just collects the necessary sources
then calls out to the "build one wheel" tool for each downloaded
source archive.

The developer's tool has some overlap in functionality but is focused
on dealing with one first-party package at a time for upload to the
index rather than many packages at a time for download and install.

What will change is that pip will include the install logic instead of
delegating it to the worst shortcoming of packaging "setup.py
install".


More information about the Distutils-SIG mailing list