From: Brett Cannon Date: Mon, 9 Mar 2009 00:14:37 +0000 (+0000) Subject: Fix importlib._bootstrap.PyPycLoader.load_module() to better handle X-Git-Tag: v3.1a2~304 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=29dff8aada8b9203a9a37474c9c1163135c8e2f6;p=python Fix importlib._bootstrap.PyPycLoader.load_module() to better handle source/bytecode paths and what to do when they don't exist. --- diff --git a/Lib/importlib/_bootstrap.py b/Lib/importlib/_bootstrap.py index b5f08eb84a..c294490337 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):