From 2c84b475909ef6abe46fcaf1ed1fab9eaa00f3b3 Mon Sep 17 00:00:00 2001 From: Ethanfel Date: Thu, 12 Feb 2026 18:43:29 +0100 Subject: [PATCH] Auto-install cupy and gdown on first node load Detects missing deps when ComfyUI imports the node and installs them automatically via pip. No manual steps needed in Docker. Co-Authored-By: Claude Opus 4.6 --- __init__.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/__init__.py b/__init__.py index a5ea0a9..4eaca51 100644 --- a/__init__.py +++ b/__init__.py @@ -1,3 +1,35 @@ +import subprocess +import sys +import logging + +logger = logging.getLogger("BIM-VFI") + + +def _auto_install_deps(): + """Auto-install missing dependencies on first load.""" + # gdown + try: + import gdown # noqa: F401 + except ImportError: + logger.info("[BIM-VFI] Installing gdown...") + subprocess.check_call([sys.executable, "-m", "pip", "install", "gdown"]) + + # cupy + try: + import cupy # noqa: F401 + except ImportError: + try: + import torch + major = int(torch.version.cuda.split(".")[0]) + cupy_pkg = f"cupy-cuda{major}x" + logger.info(f"[BIM-VFI] Installing {cupy_pkg} (CUDA {torch.version.cuda})...") + subprocess.check_call([sys.executable, "-m", "pip", "install", cupy_pkg]) + except Exception as e: + logger.warning(f"[BIM-VFI] Could not auto-install cupy: {e}") + + +_auto_install_deps() + from .nodes import LoadBIMVFIModel, BIMVFIInterpolate NODE_CLASS_MAPPINGS = {