From 5bae4e7b62996f1ef1b9ee6719581bde115d762c Mon Sep 17 00:00:00 2001 From: Peter Marko Date: Fri, 13 Mar 2026 13:37:58 +0100 Subject: [PATCH] setup.py: make pkg_resources import optional for Python 3.12+ pkg_resources has been removed from newer Python/setuptools versions. Wrap the import in a try/except block and guard the usage site, allowing html5lib to build without pkg_resources present. Upstream-Status: Pending Signed-off-by: Peter Marko --- setup.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/setup.py b/setup.py index c393c9c..e659e98 100644 --- a/setup.py +++ b/setup.py @@ -6,9 +6,13 @@ import sys from os.path import join, dirname from setuptools import setup, find_packages, __version__ as setuptools_version -from pkg_resources import parse_version -import pkg_resources +try: + from pkg_resources import parse_version + import pkg_resources +except ImportError: + parse_version = None + pkg_resources = None try: import _markerlib.markers @@ -49,7 +53,7 @@ if _markerlib and sys.version_info[0] == 3: # Avoid the very buggy pkg_resources.parser, which doesn't consistently # recognise the markers needed by this setup.py # Change this to setuptools 20.10.0 to support all markers. -if pkg_resources: +if pkg_resources and parse_version: if parse_version(setuptools_version) < parse_version('18.5'): MarkerEvaluation = pkg_resources.MarkerEvaluation