[Distutils] Making pip and PyPI work with conda packages

Nick Coghlan ncoghlan at gmail.com
Wed May 20 08:02:12 CEST 2015

On 20 May 2015 at 15:38, David Cournapeau <cournape at gmail.com> wrote:
> On Wed, May 20, 2015 at 2:25 PM, Nick Coghlan <ncoghlan at gmail.com> wrote:
>> 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
>> "--single-version-externally-managed").
> Yes, but that cannot be the only way to install the package.
> This is why I would like to see a way forward for
> https://bitbucket.org/pypa/setuptools/issue/371/setuptools-and-state-of-pep-376,
> to start pushing packages using setuptools in their setup.py in the
> scientific stack. Without this, it will be hard to move forward politically
> speaking. Lots of key contributors have a strong aversion to setuptools way
> of doing things (partly historical reasons, but it is hard to change minds).

As described in my last comment on that issue, I think the key is to
offer a patch that generates PEP 376 metadata when
"--single-version-externally-managed" is passed to setuptools.

The PEP 376 metadata layout doesn't cover what should happen when
using the parallel installation support in setuptools, so it doesn't
make sense to try to abide by it in those cases.

> If every system (pip, "setup.py install", conda, enstaller) were to at least
> write the {dist/egg}-info directories correctly, it would be already a
> significant step toward interoperation.



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

More information about the Distutils-SIG mailing list