diff options
Diffstat (limited to 'src/pip/_internal/resolution/resolvelib/resolver.py')
-rw-r--r-- | src/pip/_internal/resolution/resolvelib/resolver.py | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/pip/_internal/resolution/resolvelib/resolver.py b/src/pip/_internal/resolution/resolvelib/resolver.py index 7826cfc0f..4f8a53d0d 100644 --- a/src/pip/_internal/resolution/resolvelib/resolver.py +++ b/src/pip/_internal/resolution/resolvelib/resolver.py @@ -5,7 +5,7 @@ from typing import TYPE_CHECKING, Dict, List, Optional, Set, Tuple from pip._vendor.packaging.utils import canonicalize_name from pip._vendor.packaging.version import parse as parse_version -from pip._vendor.resolvelib import ResolutionImpossible +from pip._vendor.resolvelib import BaseReporter, ResolutionImpossible from pip._vendor.resolvelib import Resolver as RLResolver from pip._vendor.resolvelib.resolvers import Result @@ -32,7 +32,7 @@ from .base import Constraint from .factory import Factory if TYPE_CHECKING: - from pip._vendor.resolvelib.structs import Graph + from pip._vendor.resolvelib.structs import DirectedGraph logger = logging.getLogger(__name__) @@ -86,6 +86,7 @@ class Resolver(BaseResolver): raise InstallationError(problem) if not req.match_markers(): continue + assert req.name, "Constraint must be named" name = canonicalize_name(req.name) if name in constraints: constraints[name] &= req @@ -110,14 +111,14 @@ class Resolver(BaseResolver): user_requested=user_requested, ) if "PIP_RESOLVER_DEBUG" in os.environ: - reporter = PipDebuggingReporter() + reporter = PipDebuggingReporter() # type: BaseReporter else: reporter = PipReporter() resolver = RLResolver(provider, reporter) try: try_to_avoid_resolution_too_deep = 2000000 - self._result = resolver.resolve( + result = self._result = resolver.resolve( requirements, max_rounds=try_to_avoid_resolution_too_deep ) @@ -126,7 +127,7 @@ class Resolver(BaseResolver): raise error from e req_set = RequirementSet(check_supported_wheels=check_supported_wheels) - for candidate in self._result.mapping.values(): + for candidate in result.mapping.values(): ireq = candidate.get_install_requirement() if ireq is None: continue @@ -235,7 +236,7 @@ class Resolver(BaseResolver): def get_topological_weights(graph, expected_node_count): - # type: (Graph, int) -> Dict[Optional[str], int] + # type: (DirectedGraph, int) -> Dict[Optional[str], int] """Assign weights to each node based on how "deep" they are. This implementation may change at any point in the future without prior |