pydoc.safeimport: Use importlib.import_module instead of __import__ (GH-103118)

This commit is contained in:
Yuxin Wu 2023-05-04 07:26:39 +08:00 committed by GitHub
parent d6e83fbf30
commit e95dd40aff
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -448,7 +448,7 @@ def safeimport(path, forceload=0, cache={}):
# Prevent garbage collection.
cache[key] = sys.modules[key]
del sys.modules[key]
module = __import__(path)
module = importlib.import_module(path)
except BaseException as err:
# Did the error occur before or after the module was found?
if path in sys.modules:
@ -463,9 +463,6 @@ def safeimport(path, forceload=0, cache={}):
else:
# Some other error occurred during the importing process.
raise ErrorDuringImport(path, err)
for part in path.split('.')[1:]:
try: module = getattr(module, part)
except AttributeError: return None
return module
# ---------------------------------------------------- formatter base class