From 64c295f9d45f19d5ccd6babbd34256c663e595fd Mon Sep 17 00:00:00 2001 From: wuzewu Date: Tue, 10 Mar 2020 14:28:46 +0800 Subject: [PATCH] Fix module load bug --- paddlehub/module/manager.py | 5 ++++- paddlehub/module/module.py | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/paddlehub/module/manager.py b/paddlehub/module/manager.py index 9b0d28f2..7c1c9b69 100644 --- a/paddlehub/module/manager.py +++ b/paddlehub/module/manager.py @@ -70,7 +70,10 @@ class LocalModuleManager(object): for _item, _cls in inspect.getmembers( _module, inspect.isclass): _item = _module.__dict__[_item] - if issubclass(_item, hub.Module): + _file = os.path.realpath( + sys.modules[_item.__module__].__file__) + if issubclass(_item, + hub.Module) and _file == module_file: version = _item._version break sys.path.pop(0) diff --git a/paddlehub/module/module.py b/paddlehub/module/module.py index 8385f2cc..ec201335 100644 --- a/paddlehub/module/module.py +++ b/paddlehub/module/module.py @@ -183,7 +183,10 @@ class Module(object): _module = importlib.import_module("{}.module".format(basename)) for _item, _cls in inspect.getmembers(_module, inspect.isclass): _item = _module.__dict__[_item] - if issubclass(_item, Module): + _file = os.path.realpath(sys.modules[_item.__module__].__file__) + _module_path = os.path.realpath( + os.path.join(directory, "module.py")) + if issubclass(_item, Module) and _file == _module_path: user_module = _item(directory=directory, **kwargs) break sys.path.pop(0) -- GitLab