Given the confusion / lack of awareness around these issues, would it
make sense for pip to point users towards an explanation and/or
available work-arounds if pip sees that a user is trying to use the
feature (e.g. if a user tries adding a version specifier or tries to
use dependency links in general)?

--Chris

On Tue, Jan 29, 2019 at 5:08 PM Dan Ryan <d...@danryan.co> wrote:
>
> Ah sorry! I was under the impression the “optimistic candidate” was being 
> proposed as one derived from a specifier supplied in the direct dependency 
> line by the user. If it’s a first guess essentially, I think that’s how we 
> operate anyway for the most part (at least in the future resolver) while we 
> step through the dependency graph.
>
> My main question is whether you’d consider a dependency specified in pep508 
> form as satisfying other things that demand the given name even if, upon 
> download, the version doesn’t indicate that.  If not, it still feels like we 
> need to download it first. Just because someone put a ref doesn’t mean they 
> don’t update that ref’s content :/
>
>
> Dan Ryan // pipenv maintainer
> gh: @techalchemy
>
> > On Jan 29, 2019, at 7:15 PM, Nathaniel Smith <n...@pobox.com> wrote:
> >
> >> On Tue, Jan 29, 2019 at 4:11 PM Dan Ryan <d...@danryan.co> wrote:
> >>
> >> In the ideal future would we avoid the build step by having PyPI host 
> >> primarily wheels? In which case anything available on PyPI would hopefully 
> >> have its metadata exposed on the JSON endpoint and we could sidestep that.
> >>
> >> Either way we will ultimately have to download whatever is specified as a 
> >> direct url dependency because even if it has a version that aligns we will 
> >> need to figure out what dependencies it demands, etc etc. And while an 
> >> optimistic candidate is a neat idea it’s not clear to me at least whether 
> >> it’s a good idea to expect this of users. What happens when they get it 
> >> wrong? Do you trust the version in the package or do you allow an 
> >> override?  Conflict resolution is possible either way but the desired 
> >> behavior there would seem to favor the former imo
> >
> > Everything I was talking about was stuff that would be happening
> > inside the resolver loop, no users involved. The "optimistic
> > candidate" would just be an initial tentative solution that the
> > resolver uses internally to decide which things to try downloading
> > first.
> >
> > You know more about how resolvers actually work than I do though, so I
> > might have gotten it wrong :-).
> >
> > -n
> >
> > --
> > Nathaniel J. Smith -- https://vorpus.org
> --
> Distutils-SIG mailing list -- distutils-sig@python.org
> To unsubscribe send an email to distutils-sig-le...@python.org
> https://mail.python.org/mailman3/lists/distutils-sig.python.org/
> Message archived at 
> https://mail.python.org/archives/list/distutils-sig@python.org/message/QRKFG4CNRJVRAXMUHA6RLKJ55V4QMRMK/
--
Distutils-SIG mailing list -- distutils-sig@python.org
To unsubscribe send an email to distutils-sig-le...@python.org
https://mail.python.org/mailman3/lists/distutils-sig.python.org/
Message archived at 
https://mail.python.org/archives/list/distutils-sig@python.org/message/KN6NOZFVLGB4WVMJXNZRGHI7WC5K3OM4/

Reply via email to