diff options
| author | Alex Hirzel <alex@hirzel.us> | 2018-11-09 21:04:00 -0500 |
|---|---|---|
| committer | Alex Hirzel <alex@hirzel.us> | 2018-11-09 21:04:00 -0500 |
| commit | 08cac8609e2340ea09057640cd1d728f79488b99 (patch) | |
| tree | fe6dcc18db197cefbbc9c1d332b1c396e84b049c /pkg_resources/__init__.py | |
| parent | c9aba4ad1e66ab40ea2f7320c4f9504099b7ac50 (diff) | |
| download | python-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__.py | 19 |
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) |
