New submission from STINNER Victor <vstin...@python.org>:
The load_module() method of importlib loaders is deprecated which cause test failures in multiple projects. It is not easy to guess how to replace it. Examples: * pkg_resources fix adding create_module() and exec_module() methods: https://github.com/pypa/setuptools/commit/6ad2fb0b78d11e22672f56ef9d65d13ebd3475a9 * pkg_resources fix replacing importlib.load_module() function call (not loader methods) with importlib.import_module(): https://github.com/pypa/setuptools/commit/a54d9e6b30c6da0542698144d2ff149ae7cadc9a Cython uses this code: if sys.version_info[:2] < (3, 3): import imp def load_dynamic(name, module_path): return imp.load_dynamic(name, module_path) else: from importlib.machinery import ExtensionFileLoader def load_dynamic(name, module_path): return ExtensionFileLoader(name, module_path).load_module() Fixed Cython code: if sys.version_info < (3, 5): import imp def load_dynamic(name, module_path): return imp.load_dynamic(name, module_path) else: import importlib.util as _importlib_util def load_dynamic(name, module_path): spec = _importlib_util.spec_from_file_location(name, module_path) module = _importlib_util.module_from_spec(spec) # sys.modules[name] = module spec.loader.exec_module(module) return module ---------- assignee: docs@python components: Documentation, Library (Lib) messages: 389007 nosy: brett.cannon, docs@python, vstinner priority: normal severity: normal status: open title: importlib: Document how to replace load_module() in What's New in Python 3.10 versions: Python 3.10 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue43540> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com