summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFilipe LaĆ­ns <lains@riseup.net>2022-11-19 20:47:09 (GMT)
committerGitHub <noreply@github.com>2022-11-19 20:47:09 (GMT)
commitb0e1f9c241cd8f8c864d51059217f997d3b792bf (patch)
tree8fa4619264acd25020948fe7072a9d21f4a29288
parent858cb79486b504b2645c1ee3bfdca4f386bcb7d7 (diff)
downloadcpython-b0e1f9c241cd8f8c864d51059217f997d3b792bf.zip
cpython-b0e1f9c241cd8f8c864d51059217f997d3b792bf.tar.gz
cpython-b0e1f9c241cd8f8c864d51059217f997d3b792bf.tar.bz2
gh-99201: fix IndexError when initializing sysconfig config variables
-rw-r--r--Lib/sysconfig.py7
-rw-r--r--Misc/NEWS.d/next/Library/2022-11-09-03-34-29.gh-issue-99201.lDJ7xI.rst2
2 files changed, 8 insertions, 1 deletions
diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
index 73c2568..c61100a 100644
--- a/Lib/sysconfig.py
+++ b/Lib/sysconfig.py
@@ -544,7 +544,12 @@ def _init_non_posix(vars):
vars['LIBDEST'] = get_path('stdlib')
vars['BINLIBDEST'] = get_path('platstdlib')
vars['INCLUDEPY'] = get_path('include')
- vars['EXT_SUFFIX'] = _imp.extension_suffixes()[0]
+ try:
+ # GH-99201: _imp.extension_suffixes may be empty when
+ # HAVE_DYNAMIC_LOADING is not set. In this case, don't set EXT_SUFFIX.
+ vars['EXT_SUFFIX'] = _imp.extension_suffixes()[0]
+ except IndexError:
+ pass
vars['EXE'] = '.exe'
vars['VERSION'] = _PY_VERSION_SHORT_NO_DOT
vars['BINDIR'] = os.path.dirname(_safe_realpath(sys.executable))
diff --git a/Misc/NEWS.d/next/Library/2022-11-09-03-34-29.gh-issue-99201.lDJ7xI.rst b/Misc/NEWS.d/next/Library/2022-11-09-03-34-29.gh-issue-99201.lDJ7xI.rst
new file mode 100644
index 0000000..6d03574
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2022-11-09-03-34-29.gh-issue-99201.lDJ7xI.rst
@@ -0,0 +1,2 @@
+Fix :exc:`IndexError` when initializing the config variables on Windows if
+``HAVE_DYNAMIC_LOADING`` is not set.