From 0e7f8dd7a17940bfc5013b729d69dc9e1cde11be Mon Sep 17 00:00:00 2001 From: ryanontheinstide Date: Mon, 24 Feb 2025 14:35:49 -0500 Subject: [PATCH] improvement: single python environment --- install.py | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/install.py b/install.py index b80552a8..1d962616 100644 --- a/install.py +++ b/install.py @@ -2,10 +2,34 @@ import subprocess import argparse import logging +import pathlib logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s') logger = logging.getLogger(__name__) +def ensure_init_files(workspace: str): + """Create __init__.py files in comfy/ and comfy_extras/ directories if they don't exist""" + base_dirs = ['comfy', 'comfy_extras'] + for base_dir in base_dirs: + base_path = os.path.join(workspace, base_dir) + if not os.path.exists(base_path): + continue + + # Create __init__.py in the root of base_dir first + root_init = os.path.join(base_path, "__init__.py") + if not os.path.exists(root_init): + logger.info(f"Creating {root_init}") + with open(root_init, 'w') as f: + f.write("") + + # Then walk subdirectories + for root, dirs, files in os.walk(base_path): + init_path = os.path.join(root, "__init__.py") + if not os.path.exists(init_path): + logger.info(f"Creating {init_path}") + with open(init_path, 'w') as f: + f.write("") + def install_custom_node_req(workspace: str): custom_nodes_path = os.path.join(workspace, "custom_nodes") for folder in os.listdir(custom_nodes_path): @@ -26,4 +50,8 @@ def install_custom_node_req(workspace: str): logger.info("Installing custom node requirements...") install_custom_node_req(args.workspace) - logger.info("Custom node requirements installed successfully.") + + logger.info("Ensuring __init__.py files exist in ComfyUI directories...") + ensure_init_files(args.workspace) + + logger.info("Installation completed successfully.")