diff --git a/changelog.d/2918.misc.rst b/changelog.d/2918.misc.rst new file mode 100644 index 0000000000..9f61d787f1 --- /dev/null +++ b/changelog.d/2918.misc.rst @@ -0,0 +1 @@ +Correct support for Python 3 native loaders. diff --git a/pkg_resources/__init__.py b/pkg_resources/__init__.py index f98516d17e..9cc6b0a4d9 100644 --- a/pkg_resources/__init__.py +++ b/pkg_resources/__init__.py @@ -2205,12 +2205,14 @@ def _handle_ns(packageName, path_item): # use find_spec (PEP 451) and fall-back to find_module (PEP 302) try: - loader = importer.find_spec(packageName).loader + spec = importer.find_spec(packageName) except AttributeError: # capture warnings due to #1111 with warnings.catch_warnings(): warnings.simplefilter("ignore") loader = importer.find_module(packageName) + else: + loader = spec.loader if spec else None if loader is None: return None