[Distutils] What metadata does pip actually need about sdists?

Robert Collins robertc at robertcollins.net
Sun Oct 11 20:37:59 CEST 2015


On 12 October 2015 at 00:49, Paul Moore <p.f.moore at gmail.com> wrote:
> On 11 October 2015 at 05:31, Nathaniel Smith <njs at pobox.com> wrote:
>> Do the relevant pip maintainers
>> even read this mailing list? :-)
>
> Donald and I are pip maintainers (not the only ones, but probably the
> ones who make the most noise on this list :-)). The comments I've made
> that you quoted are based mostly on how I recall pip works, it's
> unfortunately been some time since I looked into pip's dependency
> resolution and install code (it's a bit of a pit of snakes) and I
> haven't had time to check the details when commenting on this thread,
> so I don't claim my comments are authoritative.
>
> I think your description of the behaviour is right.

I have this on my to-read-threads list, just haven't had time to do it
justice yet. FWIW I am *very* familiar with the dependency/install
code at the moment, having overhauled it for:
 - wheel caching
 - working proof of concept static-dependencies-in-metadata handling
 - working proof of concept full resolver

And various related bits.

> ...The reason I want that is so that I would like to be able
> to see what pip plans on doing, and audit it before it begins (a "pip
> install --dry-run" type of step). Typically, this lets me avoid
> getting part-way through an install only to find that I need a project
> that doesn't have a wheel and I can't build from the sdist. That's a
> real problem I deal with a lot - at the moment I work with "pip list
> --outdated", check the listing to see what provides wheels, and update
> just those packages individually. But that's messy and manual, and not
> always 100% effective - and I'd like to be able to do better.

'pip install --only-binary :all: THINGTOINSTALL' will do exactly what
you want I think in that it will only download wheels.

-Rob


More information about the Distutils-SIG mailing list