summaryrefslogtreecommitdiff
path: root/pkg_resources/__init__.py
diff options
context:
space:
mode:
authorAlex Hirzel <alex@hirzel.us>2018-10-28 22:00:13 -0400
committerAlex Hirzel <alex@hirzel.us>2018-10-28 22:00:13 -0400
commiteb123bbf0cdb25d855aa9a1794646d4abd309c9a (patch)
tree3704a16d4f412e4ffd658327500217a088b175a6 /pkg_resources/__init__.py
parent76ef30913dce00de4bca773f2dda9dd25ff66ad8 (diff)
downloadpython-setuptools-git-eb123bbf0cdb25d855aa9a1794646d4abd309c9a.tar.gz
default to find_module, fall-back to find_spec, fail gracefully after
Diffstat (limited to 'pkg_resources/__init__.py')
-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)