diff --git a/hpy/devel/__init__.py b/hpy/devel/__init__.py index 3b7f6e6d..555c9ef4 100644 --- a/hpy/devel/__init__.py +++ b/hpy/devel/__init__.py @@ -203,14 +203,21 @@ def handle_hpy_ext_modules(dist, attr, hpy_ext_modules): # This file is automatically generated by hpy def __bootstrap__(): - - from sys import modules + from sys import modules, version_info from os import environ - from pkg_resources import resource_filename + from contextlib import nullcontext + from importlib import resources + from hpy.universal import _load_bootstrap - ext_filepath = resource_filename(__name__, {ext_file!r}) - m = _load_bootstrap({module_name!r}, __name__, __package__, ext_filepath, - __loader__, __spec__, environ) + + if version_info < (3, 9): + ctx = resources.path(__package__, {ext_file!r}) + else: + ctx = nullcontext(resources.files(__package__).joinpath({ext_file!r})) + + with ctx as ext_filepath: + m = _load_bootstrap({module_name!r}, __name__, __package__, str(ext_filepath), + __loader__, __spec__, environ) modules[__name__] = m __bootstrap__()