@echo off setlocal EnableExtensions EnableDelayedExpansion set "SCRIPT_DIR=%~dp0" set "PYTHON_EXE=" set "PYTHON_ARGS=" set "COMFYUI_ROOT=" set "EXTRA_ARGS=" call :find_python if errorlevel 1 exit /b 1 call :parse_args %* if errorlevel 1 exit /b 1 echo Installing NanoBanana - Illusion Architect dependencies "%PYTHON_EXE%" %PYTHON_ARGS% -m pip install -r "%SCRIPT_DIR%requirements.txt" if errorlevel 1 exit /b 1 if defined COMFYUI_ROOT ( "%PYTHON_EXE%" %PYTHON_ARGS% "%SCRIPT_DIR%scripts\check_and_fill.py" --comfyui-root "%COMFYUI_ROOT%" %EXTRA_ARGS% ) else ( "%PYTHON_EXE%" %PYTHON_ARGS% "%SCRIPT_DIR%scripts\check_and_fill.py" %EXTRA_ARGS% ) exit /b %ERRORLEVEL% :parse_args if "%~1"=="" exit /b 0 set "FIRST_ARG=%~1" if "!FIRST_ARG:~0,2!"=="--" ( goto :collect_extra_args ) set "COMFYUI_ROOT=%~1" shift :collect_extra_args if "%~1"=="" exit /b 0 if defined EXTRA_ARGS ( set "EXTRA_ARGS=!EXTRA_ARGS! %1" ) else ( set "EXTRA_ARGS=%1" ) shift goto :collect_extra_args exit /b 0 :find_python if defined PYTHON_BIN ( set "PYTHON_EXE=%PYTHON_BIN%" "%PYTHON_EXE%" --version >nul 2>nul if not errorlevel 1 exit /b 0 echo Python not found: %PYTHON_BIN% exit /b 1 ) for %%I in ("%SCRIPT_DIR%..\..\.venv\Scripts\python.exe") do ( if exist "%%~fI" ( set "PYTHON_EXE=%%~fI" exit /b 0 ) ) for %%I in ("%SCRIPT_DIR%..\..\python_embeded\python.exe") do ( if exist "%%~fI" ( set "PYTHON_EXE=%%~fI" exit /b 0 ) ) py -3 --version >nul 2>nul if not errorlevel 1 ( set "PYTHON_EXE=py" set "PYTHON_ARGS=-3" exit /b 0 ) python --version >nul 2>nul if not errorlevel 1 ( set "PYTHON_EXE=python" exit /b 0 ) echo Python was not found. echo Install Python or use the ComfyUI .venv / python_embeded distribution. exit /b 1