From 64ccf4d02a497f0e584c544f5e5fb55d5cbf8c30 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Fri, 13 Mar 2020 18:37:25 -0400 Subject: [PATCH] import the module as passed before we look in sys.modules in I2e291eba4297867fc0ddb5d875b9f7af34751d01, the importer is importing tokens[0:-1] and then the final token as the name; this doesn't always work for the two example modules of "xml.dom" and "wsgiref.simple_server". import the complete path we will pull from sys.modules directly. Change-Id: I833a770f4c3e7463fa56234d891870083e48cc73 --- lib/sqlalchemy/util/langhelpers.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/lib/sqlalchemy/util/langhelpers.py b/lib/sqlalchemy/util/langhelpers.py index bac95c7e3e..4744639815 100644 --- a/lib/sqlalchemy/util/langhelpers.py +++ b/lib/sqlalchemy/util/langhelpers.py @@ -1026,10 +1026,7 @@ class _ModuleRegistry: for module in self.module_registry: key = module.split("sqlalchemy.")[-1].replace(".", "_") if module.startswith(path) and key not in self.__dict__: - tokens = module.split(".") - compat.import_( - ".".join(tokens[0:-1]), globals(), locals(), [tokens[-1]] - ) + compat.import_(module, globals(), locals()) self.__dict__[key] = sys.modules[module] -- 2.47.2