[Distutils] PEP 426 (Metadata 2.0) - Requires-Dist and setuptools/distribute

Nick Coghlan ncoghlan at gmail.com
Tue Mar 5 00:29:33 CET 2013


On 5 Mar 2013 06:55, "PJ Eby" <pje at telecommunity.com> wrote:
>
> On Mon, Mar 4, 2013 at 2:41 PM, Paul Moore <p.f.moore at gmail.com> wrote:
> > In thinking about how virtualenv would describe the packages it wants
> > to preload in PEP 426 metadata form, it occurred to me that there are
> > scenarios with setuptools and distribute where it's not obvious how to
> > state the requirement you want. Specifically, if you want to install
> > setuptools if it is present, but if not fall back to distribute (for
> > example, if you have a local package repository and no access to PyPI,
> > but setuptools may or may not be present).
> >
> > I appreciate this is a fairly obscure case. It comes up with
> > virtualenv because virtualenv uses locally-available distributions by
> > default, only going to PyPI if it has to. So in that case (depending
> > on user options) I could genuinely want to pick whichever of
> > setuptools or distribute is present, and I don't care which, as it
> > saves a network lookup.
> >
> > I'm actually using the distlib locator API, not the PEP 426 fields
> > themselves, but (a) distlib locators use the same syntax, as far as
> > I'm aware, and (b) I think the Requires-Dist syntax makes a good
> > language for specifying distribution requirements in any context, so
> > I'd hate to end up with 2 slightly-different forms.
> >
> > If the answer is that the spec doesn't support that, then fine. I'll
> > have to manually code for it. But I'd hate to write code I didn't need
> > to :-)
>
> This is a good point; people have been wanting setuptools to support
> alternate dependencies (i.e., I need this *or* that) for a long time,
> and not just for that particular use case.

PEP 426 has another similar-but-not-identical problem: the current version
doesn't have a particularly clean way to write "2.6+ or 3.2+" for the
Requires-Python field.

Cheers,
Nick.

> _______________________________________________
> Distutils-SIG maillist  -  Distutils-SIG at python.org
> http://mail.python.org/mailman/listinfo/distutils-sig
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20130305/6abc9d94/attachment-0001.html>


More information about the Distutils-SIG mailing list