summaryrefslogtreecommitdiff
path: root/pkg_resources/__init__.py
diff options
context:
space:
mode:
authorAlex Hirzel <alex@hirzel.us>2018-11-09 21:04:00 -0500
committerAlex Hirzel <alex@hirzel.us>2018-11-09 21:04:00 -0500
commit08cac8609e2340ea09057640cd1d728f79488b99 (patch)
treefe6dcc18db197cefbbc9c1d332b1c396e84b049c /pkg_resources/__init__.py
parentc9aba4ad1e66ab40ea2f7320c4f9504099b7ac50 (diff)
downloadpython-setuptools-git-08cac8609e2340ea09057640cd1d728f79488b99.tar.gz
updated per comments from @pganssle in #1563
Diffstat (limited to 'pkg_resources/__init__.py')
-rw-r--r--pkg_resources/__init__.py19
1 files changed, 11 insertions, 8 deletions
diff --git a/pkg_resources/__init__.py b/pkg_resources/__init__.py
index e6487be0..deea96b9 100644
--- a/pkg_resources/__init__.py
+++ b/pkg_resources/__init__.py
@@ -2098,16 +2098,19 @@ def _handle_ns(packageName, path_item):
if importer is None:
return None
- # capture warnings due to #1111
- with warnings.catch_warnings():
- warnings.simplefilter("ignore")
+ # use find_spec (PEP 451) and fall-back to find_module (PEP 302)
+ try:
+ loader = importer.find_spec(packageName).loader
+ except AttributeError:
try:
- loader = importer.find_module(packageName)
+ # capture warnings due to #1111
+ with warnings.catch_warnings():
+ warnings.simplefilter("ignore")
+ loader = importer.find_module(packageName)
except AttributeError:
- try:
- loader = importer.find_spec(packageName).loader
- except:
- loader = None
+ # not a system module
+ loader = None
+
if loader is None:
return None
module = sys.modules.get(packageName)