mirror of
https://github.com/python/cpython.git
synced 2025-01-27 03:24:35 +08:00
Fix importlib._bootstrap.PyPycLoader.load_module() to better handle
source/bytecode paths and what to do when they don't exist.
This commit is contained in:
parent
9fd459a3a2
commit
29dff8aada
@ -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):
|
||||
|
Loading…
Reference in New Issue
Block a user