From 08cac8609e2340ea09057640cd1d728f79488b99 Mon Sep 17 00:00:00 2001 From: Alex Hirzel Date: Fri, 9 Nov 2018 21:04:00 -0500 Subject: updated per comments from @pganssle in #1563 --- pkg_resources/__init__.py | 19 +++++++++++-------- 1 file 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) -- cgit v1.2.3