[Distutils] Making pip and PyPI work with conda packages

Nick Coghlan ncoghlan at gmail.com
Wed May 20 07:25:38 CEST 2015

On 18 May 2015 at 14:32, David Cournapeau <cournape at gmail.com> wrote:
> On Mon, May 18, 2015 at 9:05 AM, Nick Coghlan <ncoghlan at gmail.com> wrote:
>> Indirection via pip injects the usage of setuptools even for plain
>> distutils projects, and generates https://www.python.org/dev/peps/pep-0376/
>> compliant metadata by default.
> Note that some packages will push hard against injecting setuptools, at
> least until it does not offer a way to prevent from installing as an egg
> directory. Most of the core scientific packages avoid setuptools because of
> this.

pip changes the default behaviour of setuptools to be more in line
with the behaviour of plain distutils (e.g. forcing

This means that "pip install X" consistently gives setuptools levels
of capabilities in terms of dependency management, without defaulting
to installing things as egg archives or directories (modulo the rough
edges around setup-requires).

As Donald notes, "pip install" also abstracts away any future
invocation of a metadata based pluggable build system, while
"./setup.py install" assumes the distutils-based status quo will
remain in place forever.


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

More information about the Distutils-SIG mailing list