
On 6 August 2015 at 00:10, Donald Stufft <donald@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. Cheers, Nick. -- Nick Coghlan | ncoghlan@gmail.com | Brisbane, Australia