#!/usr/bin/env python3 """ StrawberryFist VRAM Optimizer Installation Script """ import os import sys import subprocess import importlib.util def install_package(package_name): """Install a Python package using pip""" try: subprocess.check_call([sys.executable, "-m", "pip", "install", package_name]) print(f"āœ… Successfully installed {package_name}") return True except subprocess.CalledProcessError as e: print(f"āŒ Failed to install {package_name}: {e}") return False def check_package(package_name): """Check if a package is already installed""" spec = importlib.util.find_spec(package_name) return spec is not None def main(): print("šŸ“ StrawberryFist VRAM Optimizer Installation") print("=" * 50) # Required packages required_packages = [ "GPUtil>=1.4.0", ] print("šŸ“‹ Checking required packages...") for package in required_packages: package_name = package.split(">=")[0].split("==")[0] if check_package(package_name): print(f"āœ… {package_name} is already installed") else: print(f"šŸ“¦ Installing {package}...") if not install_package(package): print(f"āŒ Installation failed for {package}") sys.exit(1) # Check PyTorch installation if check_package("torch"): print("āœ… PyTorch is already installed") # Check CUDA availability try: import torch if torch.cuda.is_available(): print(f"āœ… CUDA is available (Device: {torch.cuda.get_device_name(0)})") else: print("āš ļø CUDA is not available - CPU mode will be used") except Exception as e: print(f"āš ļø Could not check CUDA status: {e}") else: print("āš ļø PyTorch not found - please install it according to your system requirements") print(" Visit: https://pytorch.org/get-started/locally/") print("\nšŸŽ‰ Installation completed!") print("šŸ“ Next steps:") print("1. Restart ComfyUI") print("2. Look for 'StFist - VRAM Optimizer' and 'StFist - GPU Monitor' nodes") print("3. Add them to your workflow and configure as needed") print("\nšŸ“ Thank you for using StrawberryFist VRAM Optimizer!") if __name__ == "__main__": main()