Spaces:
Running on Zero
Running on Zero
Download comfy_integration/setup.py from Samuelsrmendozs/MiniMax-H3-e: direct link, hf CLI and curl.
- Browser
- Download file 3.65 kB
-
https://huggingface.co/spaces/Samuelsrmendozs/MiniMax-H3-e/resolve/main/comfy_integration/setup.py
- Command line
-
hf download hf://spaces/Samuelsrmendozs/MiniMax-H3-e/comfy_integration/setup.py
-
curl -L -o setup.py https://huggingface.co/spaces/Samuelsrmendozs/MiniMax-H3-e/resolve/main/comfy_integration/setup.py
3.65 kB
| import os | |
| import sys | |
| import shutil | |
| from core.settings import * | |
| def move_and_overwrite(src, dst): | |
| if os.path.isdir(src): | |
| os.makedirs(dst, exist_ok=True) | |
| for item in os.listdir(src): | |
| s_child = os.path.join(src, item) | |
| d_child = os.path.join(dst, item) | |
| move_and_overwrite(s_child, d_child) | |
| elif os.path.isfile(src): | |
| if os.path.exists(dst): | |
| try: | |
| os.remove(dst) | |
| except OSError: | |
| pass | |
| shutil.move(src, dst) | |
| def initialize_comfyui(): | |
| APP_DIR = sys.path[0] | |
| COMFYUI_TEMP_DIR = "ComfyUI_temp" | |
| print("--- Cloning ComfyUI Repository ---") | |
| if not os.path.exists(COMFYUI_TEMP_DIR): | |
| os.system(f"git clone https://github.com/comfy-Org/ComfyUI {COMFYUI_TEMP_DIR}") | |
| print("✅ ComfyUI repository cloned.") | |
| else: | |
| print("✅ ComfyUI repository already exists.") | |
| print(f"--- Merging ComfyUI from '{COMFYUI_TEMP_DIR}' to '{APP_DIR}' ---") | |
| for item in os.listdir(COMFYUI_TEMP_DIR): | |
| src_path = os.path.join(COMFYUI_TEMP_DIR, item) | |
| dst_path = os.path.join(APP_DIR, item) | |
| if item == '.git': | |
| continue | |
| move_and_overwrite(src_path, dst_path) | |
| try: | |
| shutil.rmtree(COMFYUI_TEMP_DIR) | |
| print("✅ ComfyUI merged and temporary directory removed.") | |
| except OSError as e: | |
| print(f"⚠️ Could not remove temporary directory '{COMFYUI_TEMP_DIR}': {e}") | |
| print(f"✅ Current working directory is: {os.getcwd()}") | |
| # [ZeroGPU / Upstream ComfyUI Compatibility] | |
| # Guard against ComfyUI PR #16746 is_integrated attribute check crash under ZeroGPU SimpleNamespace | |
| try: | |
| import torch | |
| if hasattr(torch, "cuda") and hasattr(torch.cuda, "get_device_properties"): | |
| _orig_gdp = torch.cuda.get_device_properties | |
| def _safe_gdp(*args, **kwargs): | |
| p = _orig_gdp(*args, **kwargs) | |
| if not hasattr(p, "is_integrated"): | |
| try: | |
| p.is_integrated = False | |
| except Exception: | |
| pass | |
| return p | |
| torch.cuda.get_device_properties = _safe_gdp | |
| except Exception: | |
| pass | |
| mm_path = os.path.join(APP_DIR, "comfy", "model_management.py") | |
| if os.path.exists(mm_path): | |
| try: | |
| with open(mm_path, "r", encoding="utf-8") as f: | |
| mm_code = f.read() | |
| unsafe_check = "bool(torch.cuda.get_device_properties(device).is_integrated)" | |
| safe_check = "bool(getattr(torch.cuda.get_device_properties(device), 'is_integrated', False))" | |
| if unsafe_check in mm_code: | |
| with open(mm_path, "w", encoding="utf-8") as f: | |
| f.write(mm_code.replace(unsafe_check, safe_check)) | |
| print("🛡️ [Setup] Patched comfy/model_management.py for safe is_integrated attribute access.") | |
| except Exception as e: | |
| print(f"⚠️ [Setup] Failed to patch comfy/model_management.py: {e}") | |
| import comfy.model_management | |
| print("--- Environment Ready ---") | |
| print("✅ ComfyUI initialized with default attention mechanism.") | |
| for dir_path in CATEGORY_TO_DIR_MAP.values(): | |
| os.makedirs(os.path.join(APP_DIR, dir_path), exist_ok=True) | |
| os.makedirs(os.path.join(APP_DIR, INPUT_DIR), exist_ok=True) | |
| os.makedirs(os.path.join(APP_DIR, OUTPUT_DIR), exist_ok=True) | |
| print("✅ All required model directories are present.") |