
On 12 October 2015 at 00:49, Paul Moore <p.f.moore@gmail.com> wrote:
On 11 October 2015 at 05:31, Nathaniel Smith <njs@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