|
17 | 17 | from .factory import Factory
|
18 | 18 |
|
19 | 19 | if MYPY_CHECK_RUNNING:
|
20 |
| - from typing import Dict, List, Optional, Set, Tuple |
| 20 | + from typing import Dict, Iterable, List, Optional, Set, Tuple |
21 | 21 |
|
22 | 22 | from pip._vendor.packaging.specifiers import SpecifierSet
|
23 | 23 | from pip._vendor.resolvelib.resolvers import Result
|
|
28 | 28 | from pip._internal.operations.prepare import RequirementPreparer
|
29 | 29 | from pip._internal.req.req_install import InstallRequirement
|
30 | 30 | from pip._internal.resolution.base import InstallRequirementProvider
|
| 31 | + from pip._internal.resolution.resolvelib.base import Candidate |
31 | 32 |
|
32 | 33 |
|
33 | 34 | logger = logging.getLogger(__name__)
|
@@ -120,13 +121,16 @@ def resolve(self, root_reqs, check_supported_wheels):
|
120 | 121 | self._result = resolver.resolve(
|
121 | 122 | requirements, max_rounds=try_to_avoid_resolution_too_deep,
|
122 | 123 | )
|
123 |
| - |
124 | 124 | except ResolutionImpossible as e:
|
125 | 125 | error = self.factory.get_installation_error(e)
|
126 | 126 | six.raise_from(error, e)
|
127 | 127 |
|
| 128 | + return self._make_req_set(self._result.mapping.values()) |
| 129 | + |
| 130 | + def _make_req_set(self, candidates): |
| 131 | + # type: (Iterable[Candidate]) -> RequirementSet |
128 | 132 | req_set = RequirementSet(check_supported_wheels=check_supported_wheels)
|
129 |
| - for candidate in self._result.mapping.values(): |
| 133 | + for candidate in candidates: |
130 | 134 | ireq = candidate.get_install_requirement()
|
131 | 135 | if ireq is None:
|
132 | 136 | continue
|
|
0 commit comments