mirror of https://github.com/pypa/pip
Resolve user-requested requirements first
This commit is contained in:
parent
ebc1375612
commit
c2de8974d4
|
@ -115,11 +115,18 @@ class PipProvider(AbstractProvider):
|
||||||
self,
|
self,
|
||||||
resolution, # type: Optional[Candidate]
|
resolution, # type: Optional[Candidate]
|
||||||
candidates, # type: Sequence[Candidate]
|
candidates, # type: Sequence[Candidate]
|
||||||
information # type: Sequence[Tuple[Requirement, Candidate]]
|
information # type: Sequence[Tuple[Requirement, Optional[Candidate]]]
|
||||||
):
|
):
|
||||||
# type: (...) -> Any
|
# type: (...) -> Any
|
||||||
# Use the "usual" value for now
|
"""Return a sort key to determine what dependency to look next.
|
||||||
return len(candidates)
|
|
||||||
|
A smaller value makes a dependency higher priority. We put direct
|
||||||
|
(user-requested) dependencies first since they may contain useful
|
||||||
|
user-specified version ranges. Users tend to expect us to catch
|
||||||
|
problems in them early as well.
|
||||||
|
"""
|
||||||
|
transitive = all(parent is not None for _, parent in information)
|
||||||
|
return (transitive, len(candidates))
|
||||||
|
|
||||||
def find_matches(self, requirements):
|
def find_matches(self, requirements):
|
||||||
# type: (Sequence[Requirement]) -> Iterable[Candidate]
|
# type: (Sequence[Requirement]) -> Iterable[Candidate]
|
||||||
|
|
Loading…
Reference in New Issue