diff --git a/invokeai/app/invocations/custom_nodes/init.py b/invokeai/app/invocations/custom_nodes/init.py index e0c174013f..efddede72f 100644 --- a/invokeai/app/invocations/custom_nodes/init.py +++ b/invokeai/app/invocations/custom_nodes/init.py @@ -3,6 +3,7 @@ Invoke-managed custom node loader. See README.md for more information. """ import sys +import traceback from importlib.util import module_from_spec, spec_from_file_location from pathlib import Path @@ -41,11 +42,15 @@ for d in Path(__file__).parent.iterdir(): logger.info(f"Loading node pack {module_name}") - module = module_from_spec(spec) - sys.modules[spec.name] = module - spec.loader.exec_module(module) + try: + module = module_from_spec(spec) + sys.modules[spec.name] = module + spec.loader.exec_module(module) - loaded_count += 1 + loaded_count += 1 + except Exception: + full_error = traceback.format_exc() + logger.error(f"Failed to load node pack {module_name}:\n{full_error}") del init, module_name