py-setuptools does not build for Python 3.9 with this error: * Getting build dependencies for wheel... Traceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/pyproject_hooks/_in_process/_in_process.py", line 389, in <module> main() File "/usr/local/lib/python3.9/site-packages/pyproject_hooks/_in_process/_in_process.py", line 373, in main json_out["return_val"] = hook(**hook_input["kwargs"]) File "/usr/local/lib/python3.9/site-packages/pyproject_hooks/_in_process/_in_process.py", line 143, in get_requires_for_build_wheel return hook(config_settings) File "/wrkdirs/usr/ports/devel/py-setuptools/work-py39/setuptools-63.1.0/setuptools/build_meta.py", line 177, in get_requires_for_build_wheel return self._get_build_requires( File "/wrkdirs/usr/ports/devel/py-setuptools/work-py39/setuptools-63.1.0/setuptools/build_meta.py", line 159, in _get_build_requires self.run_setup() File "/wrkdirs/usr/ports/devel/py-setuptools/work-py39/setuptools-63.1.0/setuptools/build_meta.py", line 174, in run_setup exec(compile(code, __file__, 'exec'), locals()) File "setup.py", line 87, in <module> dist = setuptools.setup(**setup_params) File "/wrkdirs/usr/ports/devel/py-setuptools/work-py39/setuptools-63.1.0/setuptools/__init__.py", line 86, in setup _install_setup_requires(attrs) File "/wrkdirs/usr/ports/devel/py-setuptools/work-py39/setuptools-63.1.0/setuptools/__init__.py", line 75, in _install_setup_requires dist = MinimalDistribution(attrs) File "/wrkdirs/usr/ports/devel/py-setuptools/work-py39/setuptools-63.1.0/setuptools/__init__.py", line 57, in __init__ super().__init__(filtered) File "/wrkdirs/usr/ports/devel/py-setuptools/work-py39/setuptools-63.1.0/setuptools/dist.py", line 474, in __init__ for ep in metadata.entry_points(group='distutils.setup_keywords'): File "/wrkdirs/usr/ports/devel/py-setuptools/work-py39/setuptools-63.1.0/setuptools/_vendor/importlib_metadata/__init__.py", line 999, in entry_points return SelectableGroups.load(eps).select(**params) File "/wrkdirs/usr/ports/devel/py-setuptools/work-py39/setuptools-63.1.0/setuptools/_vendor/importlib_metadata/__init__.py", line 449, in load ordered = sorted(eps, key=by_group) File "/wrkdirs/usr/ports/devel/py-setuptools/work-py39/setuptools-63.1.0/setuptools/_vendor/importlib_metadata/__init__.py", line 996, in <genexpr> eps = itertools.chain.from_iterable( File "/wrkdirs/usr/ports/devel/py-setuptools/work-py39/setuptools-63.1.0/setuptools/_vendor/importlib_metadata/_itertools.py", line 16, in unique_everseen k = key(element) AttributeError: 'PathDistribution' object has no attribute '_normalized_name' ERROR Backend subprocess exited when trying to invoke get_requires_for_build_wheel
Looks like you hit https://github.com/pypa/setuptools/issues/3452 . I'll test a couple things once I can sit down at a keyboard again later today.
(In reply to Niels Kobschätzki from comment #0) I'm facing the exact same error. FreeBSD 14.2. DEFAULT_VERSION+= python=3.9 (...) Port tree up2date. Rgds, apn.
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=c4dd8f40175252743857e936c56c1c8740202230 commit c4dd8f40175252743857e936c56c1c8740202230 Author: Charlie Li <vishwin@FreeBSD.org> AuthorDate: 2025-04-10 17:41:54 +0000 Commit: Charlie Li <vishwin@FreeBSD.org> CommitDate: 2025-04-10 17:50:23 +0000 devel/py-setuptools@py39: add py39 compat layer to vendored importlib-metadata ...and partially revert a setuptools commit exposing another error. Context: https://github.com/pypa/setuptools/issues/3452 Reported by: Niels Kobschätzki PR: 285909 devel/py-setuptools/Makefile | 8 +++- ...endor_importlib__metadata_____init____.py (new) | 41 +++++++++++++++++ ...endor_importlib__metadata___py39compat.py (new) | 51 ++++++++++++++++++++++ .../files/py39/patch-setuptools_dist.py (new) | 14 ++++++ 4 files changed, 113 insertions(+), 1 deletion(-)