Skip to content

Commit 1d4674c

Browse files
authored
Merge pull request #12163 from pfmoore/fix_12156
Disable PEP 658 for the legacy resolver
2 parents 593b85f + 39aa7ed commit 1d4674c

File tree

4 files changed

+14
-0
lines changed

4 files changed

+14
-0
lines changed

news/12156.bugfix.rst

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Disable PEP 658 metadata fetching with the legacy resolver.

src/pip/_internal/cli/req_command.py

+3
Original file line numberDiff line numberDiff line change
@@ -287,6 +287,7 @@ def make_requirement_preparer(
287287
"""
288288
temp_build_dir_path = temp_build_dir.path
289289
assert temp_build_dir_path is not None
290+
legacy_resolver = False
290291

291292
resolver_variant = cls.determine_resolver_variant(options)
292293
if resolver_variant == "2020-resolver":
@@ -300,6 +301,7 @@ def make_requirement_preparer(
300301
"production."
301302
)
302303
else:
304+
legacy_resolver = True
303305
lazy_wheel = False
304306
if "fast-deps" in options.features_enabled:
305307
logger.warning(
@@ -320,6 +322,7 @@ def make_requirement_preparer(
320322
use_user_site=use_user_site,
321323
lazy_wheel=lazy_wheel,
322324
verbosity=verbosity,
325+
legacy_resolver=legacy_resolver,
323326
)
324327

325328
@classmethod

src/pip/_internal/operations/prepare.py

+9
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,7 @@ def __init__(
226226
use_user_site: bool,
227227
lazy_wheel: bool,
228228
verbosity: int,
229+
legacy_resolver: bool,
229230
) -> None:
230231
super().__init__()
231232

@@ -259,6 +260,9 @@ def __init__(
259260
# How verbose should underlying tooling be?
260261
self.verbosity = verbosity
261262

263+
# Are we using the legacy resolver?
264+
self.legacy_resolver = legacy_resolver
265+
262266
# Memoized downloaded files, as mapping of url: path.
263267
self._downloaded: Dict[str, str] = {}
264268

@@ -365,6 +369,11 @@ def _fetch_metadata_only(
365369
self,
366370
req: InstallRequirement,
367371
) -> Optional[BaseDistribution]:
372+
if self.legacy_resolver:
373+
logger.debug(
374+
"Metadata-only fetching is not used in the legacy resolver",
375+
)
376+
return None
368377
if self.require_hashes:
369378
logger.debug(
370379
"Metadata-only fetching is not used as hash checking is required",

tests/unit/test_req.py

+1
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ def _basic_resolver(
105105
use_user_site=False,
106106
lazy_wheel=False,
107107
verbosity=0,
108+
legacy_resolver=True,
108109
)
109110
yield Resolver(
110111
preparer=preparer,

0 commit comments

Comments
 (0)