diff --git a/Lib/importlib/abc.py b/Lib/importlib/abc.py index 11af22dab9b..daff681e696 100644 --- a/Lib/importlib/abc.py +++ b/Lib/importlib/abc.py @@ -4,7 +4,6 @@ from . import _bootstrap_external from . import machinery try: import _frozen_importlib -# import _frozen_importlib_external except ImportError as exc: if exc.name != '_frozen_importlib': raise diff --git a/Lib/importlib/util.py b/Lib/importlib/util.py index 39cb0f74fc4..af781fd4cd9 100644 --- a/Lib/importlib/util.py +++ b/Lib/importlib/util.py @@ -263,11 +263,6 @@ class LazyLoader(abc.Loader): def __check_eager_loader(loader): if not hasattr(loader, 'exec_module'): raise TypeError('loader must define exec_module()') - elif hasattr(loader.__class__, 'create_module'): - if abc.Loader.create_module != loader.__class__.create_module: - # Only care if create_module() is overridden in a subclass of - # importlib.abc.Loader. - raise TypeError('loader cannot define create_module()') @classmethod def factory(cls, loader): diff --git a/Lib/test/test_importlib/test_lazy.py b/Lib/test/test_importlib/test_lazy.py index 2e191bbf5ca..774b7a45641 100644 --- a/Lib/test/test_importlib/test_lazy.py +++ b/Lib/test/test_importlib/test_lazy.py @@ -54,6 +54,7 @@ class LazyLoaderTests(unittest.TestCase): def test_init(self): with self.assertRaises(TypeError): + # Classes that dono't define exec_module() trigger TypeError. util.LazyLoader(object) def new_module(self, source_code=None): diff --git a/Misc/NEWS b/Misc/NEWS index 646978b1ecb..6c1e83f4c6f 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -185,6 +185,9 @@ Core and Builtins Library ------- + +Issue #26186: Remove an invalid type check in importlib.util.LazyLoader. + - Issue #26367: importlib.__init__() raises ImportError like builtins.__import__() when ``level`` is specified but without an accompanying package specified.