diff --git a/paddlehub/module/manager.py b/paddlehub/module/manager.py index 248a26c9bec65b9cd3697149dcd4939b84e9da73..648d25168ff968c92d071bfffc8d89107eba1bc9 100644 --- a/paddlehub/module/manager.py +++ b/paddlehub/module/manager.py @@ -179,7 +179,7 @@ class LocalModuleManager(object): print_progress=True) result, tips, module_dir = default_downloader.uncompress( file=module_zip_file, - dirname=MODULE_HOME, + dirname=os.path.join(_dir, "tmp_module"), delete_file=True, print_progress=True) @@ -190,19 +190,21 @@ class LocalModuleManager(object): module_dir = os.path.join(_dir, file_names[0]) for index, file_name in enumerate(file_names): tar.extract(file_name, _dir) - - if module_dir: - if not module_name: module_name = hub.Module(directory=module_dir).name + + if from_user_dir: + module_name = hub.Module(directory=module_dir).name + module_version = hub.Module(directory=module_dir).version self.all_modules(update=False) module_info = self.modules_dict.get(module_name, None) if module_info: - module_dir = self.modules_dict[module_name][0] - module_tag = module_name if not module_version else '%s-%s' % ( - module_name, module_version) - tips = "Module %s already installed in %s" % (module_tag, - module_dir) - return True, tips, self.modules_dict[module_name] + if module_version == module_info[1]: + module_dir = self.modules_dict[module_name][0] + module_tag = module_name if not module_version else '%s-%s' % ( + module_name, module_version) + tips = "Module %s already installed in %s" % ( + module_tag, module_dir) + return True, tips, self.modules_dict[module_name] if module_dir: if md5_value: