gh-106789: avoid importing pprint from sysconfig (#106790)

This commit is contained in:
Irit Katriel 2023-07-17 10:28:33 +01:00 committed by GitHub
parent 7aa89e505d
commit 5ecedbd266
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 19 deletions

View File

@ -6,26 +6,14 @@ operate on bytecodes (e.g. peephole optimizers).
__all__ = ["cmp_op", "hasarg", "hasconst", "hasname", "hasjrel", "hasjabs",
"haslocal", "hascompare", "hasfree", "hasexc", "opname", "opmap",
"HAVE_ARGUMENT", "EXTENDED_ARG"]
"stack_effect", "HAVE_ARGUMENT", "EXTENDED_ARG"]
# It's a chicken-and-egg I'm afraid:
# We're imported before _opcode's made.
# With exception unheeded
# (stack_effect is not needed)
# Both our chickens and eggs are allayed.
# --Larry Hastings, 2013/11/23
from _opcode import stack_effect
try:
from _opcode import stack_effect
__all__.append('stack_effect')
except ImportError:
pass
# _opcode_metadata may not be ready during early stages of the build
try:
import sys
# The build uses older versions of Python which do not have _opcode_metadata
if sys.version_info[:2] >= (3, 13):
from _opcode_metadata import _specializations, _specialized_instructions
except ModuleNotFoundError:
pass
cmp_op = ('<', '<=', '==', '!=', '>', '>=')

View File

@ -465,10 +465,14 @@ def _get_sysconfigdata_name():
f'_sysconfigdata_{sys.abiflags}_{sys.platform}_{multiarch}',
)
def _print_config_dict(d, stream):
print ("{", file=stream)
for k, v in sorted(d.items()):
print(f" {k!r}: {v!r},", file=stream)
print ("}", file=stream)
def _generate_posix_vars():
"""Generate the Python module containing build-time variables."""
import pprint
vars = {}
# load the installed Makefile:
makefile = get_makefile_filename()
@ -523,7 +527,7 @@ def _generate_posix_vars():
f.write('# system configuration generated and used by'
' the sysconfig module\n')
f.write('build_time_vars = ')
pprint.pprint(vars, stream=f)
_print_config_dict(vars, stream=f)
# Create file used for sys.path fixup -- see Modules/getpath.c
with open('pybuilddir.txt', 'w', encoding='utf8') as f:

View File

@ -0,0 +1 @@
Remove import of :mod:``pprint`` from :mod:``sysconfig``.