[Python-Dev] updating ensurepip to include wheel

Nick Coghlan ncoghlan at gmail.com
Wed Aug 5 17:11:48 CEST 2015

On 6 August 2015 at 00:10, Donald Stufft <donald at stufft.io> wrote:
> Just a small correction, in general setuptools does blur that line, but
> for pip itself setuptools is completely a build time dependency which
> isn’t *technically* any different than our dependency on wheel. We work
> perfectly fine without it installed you just don’t get certain features
> available to you if you don’t have it installed. However we left
> setuptools installing because the feature you lose if you don’t have it
> pre-installed is the ability to install from sdists entirely. It was
> determined that not being able to install from sdists was a large enough
> “breakage” that considering setuptools a dependency of pip in the terms
> of ensurepip was considered better than minimizing the things we bundled.

Sorry, I omitted a downstream-related step in my thought process
there. We currently have a hard dependency from python to pip and
setuptools in Fedora, so we can ensure ensurepip works properly inside
virtual environments.

Enough things require setuptools at runtime for pkg_resources that
that falls into the category of "annoying runtime dependency we'd like
to see go away, but we can live with it since a lot of production
systems are still going to end up with it installed regardless of
what's in the base image".

A hard dependency on wheel wouldn't fit into the same category - when
folks are using a build pipeline to minimise the installation
footprint on production systems, the wheel package itself has no
business being installed anywhere other than developer systems and
build servers.


Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia

More information about the Python-Dev mailing list