From 874e94a3223be7515a6cdc27394a7185ed7d5531 Mon Sep 17 00:00:00 2001 From: Lianmin Zheng Date: Wed, 25 Sep 2024 11:29:12 -0700 Subject: [PATCH] ignore import error --- python/sglang/srt/model_executor/model_runner.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/python/sglang/srt/model_executor/model_runner.py b/python/sglang/srt/model_executor/model_runner.py index 5096257be6..71fa05e356 100644 --- a/python/sglang/srt/model_executor/model_runner.py +++ b/python/sglang/srt/model_executor/model_runner.py @@ -568,17 +568,25 @@ def import_model_classes(): package = importlib.import_module(package_name) for _, name, ispkg in pkgutil.iter_modules(package.__path__, package_name + "."): if not ispkg: - module = importlib.import_module(name) + try: + module = importlib.import_module(name) + except Exception as e: + logger.warning(f"Ignore import error when loading {name}. " f"{e}") + continue if hasattr(module, "EntryClass"): entry = module.EntryClass if isinstance( entry, list ): # To support multiple model classes in one module for tmp in entry: - assert tmp.__name__ not in model_arch_name_to_cls + assert ( + tmp.__name__ not in model_arch_name_to_cls + ), f"{tmp.__name__}" model_arch_name_to_cls[tmp.__name__] = tmp else: - assert entry.__name__ not in model_arch_name_to_cls + assert ( + entry.__name__ not in model_arch_name_to_cls + ), f"{entry.__name__}" model_arch_name_to_cls[entry.__name__] = entry return model_arch_name_to_cls