Skip to content

Commit af88dbc

Browse files
authored
allow ImportError to support arch and older setuptools versions (#44)
1 parent eac5fc8 commit af88dbc

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

colcon_python_setup_py/package_identification/python_setup_py.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,14 @@ def _get_setup_information(setup_py, *, env=None):
248248
'import sys',
249249
# setuptools needs to be imported before distutils
250250
# to avoid warning introduced in setuptools 49.2.0
251-
'from setuptools.extern.packaging.specifiers import SpecifierSet',
251+
'from contextlib import suppress',
252+
'exec("with suppress(ImportError):'
253+
' from setuptools.extern.packaging.specifiers'
254+
' import SpecifierSet")',
255+
# newer versions expose 'packaging' directly
256+
# on Arch 'extern' isn't part of the package
257+
'exec("with suppress(ImportError):'
258+
' from packaging.specifiers import SpecifierSet")',
252259
'from distutils.core import run_setup',
253260

254261
'dist = run_setup('

0 commit comments

Comments
 (0)