@@ -1525,23 +1525,21 @@ def iter_base_candidate_binary_paths(interpreter):
15251525 resolved = resolved_interpreter
15261526 break
15271527 else :
1528- # N.B.: Different patch versions of CPython can have the same `python`
1529- # binary contents and only differ in `libpython.so` and other shared
1530- # libraries and the stdlib. We guard against that case here (i.e.: a
1531- # CPython patch version upgrade or downgrade) by busting the cache as a last
1532- # resort before failing to resolve a base interpreter.
1528+ # N.B.: Different patch versions of Python can have the same `python`
1529+ # binary contents and only differ in shared libraries and the stdlib. We
1530+ # guard against that case here (i.e.: a CPython patch version upgrade or
1531+ # downgrade) by busting the cache as a last resort before failing to
1532+ # resolve a base interpreter.
1533+ #
15331534 # See: https://github.com/pex-tool/pex/issues/3113
15341535 maybe_reinstalled_interpreters .append (resolved_interpreter )
15351536 if resolved is None :
1536- # interpreter = PythonInterpreter.from_binary(self.binary, ignore_cached=True)
1537- # self._identity = interpreter._identity
1538- # version = self._identity.version
15391537 for maybe_reinstalled_interpreter in maybe_reinstalled_interpreters :
1540- maybe_reinstalled_interpreter = PythonInterpreter .from_binary (
1538+ re_resolved_interpreter = self .from_binary (
15411539 maybe_reinstalled_interpreter .binary , ignore_cached = True
15421540 )
1543- if maybe_reinstalled_interpreter .version == version :
1544- resolved = maybe_reinstalled_interpreter
1541+ if re_resolved_interpreter .version == version :
1542+ resolved = re_resolved_interpreter
15451543 break
15461544 if resolved is None :
15471545 message = [
@@ -1560,7 +1558,7 @@ def iter_base_candidate_binary_paths(interpreter):
15601558 )
15611559 )
15621560 raise self .BaseInterpreterResolutionError ("\n " .join (message ))
1563- base_interpreter = resolved_interpreter
1561+ base_interpreter = resolved
15641562 resolution_path .append (base_interpreter .binary )
15651563 return base_interpreter
15661564
0 commit comments