summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pkg_resources/__init__.py14
1 files changed, 9 insertions, 5 deletions
diff --git a/pkg_resources/__init__.py b/pkg_resources/__init__.py
index 9b5bd102..2b8c4430 100644
--- a/pkg_resources/__init__.py
+++ b/pkg_resources/__init__.py
@@ -2098,11 +2098,15 @@ def _handle_ns(packageName, path_item):
# capture warnings due to #1111
with warnings.catch_warnings():
warnings.simplefilter("ignore")
- spec = importer.find_spec(packageName)
- if spec is not None:
- loader = spec.loader
- else:
- return None
+ try:
+ loader = importer.find_module(packageName)
+ except AttributeError:
+ try:
+ loader = importer.find_spec(packageName).loader
+ except:
+ loader = None
+ if loader is None:
+ return None
module = sys.modules.get(packageName)
if module is None:
module = sys.modules[packageName] = types.ModuleType(packageName)