diff options
| author | Alex Hirzel <alex@hirzel.us> | 2018-10-28 22:00:13 -0400 |
|---|---|---|
| committer | Alex Hirzel <alex@hirzel.us> | 2018-10-28 22:00:13 -0400 |
| commit | eb123bbf0cdb25d855aa9a1794646d4abd309c9a (patch) | |
| tree | 3704a16d4f412e4ffd658327500217a088b175a6 /pkg_resources/__init__.py | |
| parent | 76ef30913dce00de4bca773f2dda9dd25ff66ad8 (diff) | |
| download | python-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__.py | 14 |
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) |
