summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/importlib/_bootstrap.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/Lib/importlib/_bootstrap.py b/Lib/importlib/_bootstrap.py
index b5f08eb..c294490 100644
--- a/Lib/importlib/_bootstrap.py
+++ b/Lib/importlib/_bootstrap.py
@@ -383,9 +383,16 @@ class PyPycLoader(PyLoader):
def load_module(self, module):
"""Load a module from source or bytecode."""
name = module.__name__
- source_path = self.source_path(name)
- bytecode_path = self.bytecode_path(name)
- module.__file__ = source_path if source_path else bytecode_path
+ try:
+ source_path = self.source_path(name)
+ except ImportError:
+ source_path = None
+ try:
+ bytecode_path = self.bytecode_path(name)
+ except ImportError:
+ bytecode_path = None
+ # get_code can worry about no viable paths existing.
+ module.__file__ = source_path or bytecode_path
return self._load_module(module)
def get_code(self, fullname):