@echo off setlocal EnableExtensions EnableDelayedExpansion PUSHD "%~dp0" set INVOKE_AI_VERSION=latest set arg=%1 if "%arg%" neq "" ( if "%arg:~0,2%" equ "/?" ( echo Usage: update.bat ^ echo Updates InvokeAI to use the indicated version of the code base. echo Find the version or branch for the release you want, and pass it as the argument. echo For example '.\update.bat v2.2.5' for release 2.2.5. echo '.\update.bat main' for the latest development version echo. echo If no argument provided then will install the most recent release, equivalent to echo '.\update.bat latest' exit /b ) else ( set INVOKE_AI_VERSION=%arg% ) ) set INVOKE_AI_SRC="https://github.com/invoke-ai/InvokeAI/archive/!INVOKE_AI_VERSION!.zip" set INVOKE_AI_DEP=https://raw.githubusercontent.com/invoke-ai/InvokeAI/!INVOKE_AI_VERSION!/environments-and-requirements/requirements-base.txt set INVOKE_AI_MODELS=https://raw.githubusercontent.com/invoke-ai/InvokeAI/$INVOKE_AI_VERSION/configs/INITIAL_MODELS.yaml call curl -I "%INVOKE_AI_DEP%" -fs >.tmp.out if %errorlevel% neq 0 ( echo '!INVOKE_AI_VERSION!' is not a known branch name or tag. Please check the version and try again. echo "Press any key to continue" pause exit /b ) del .tmp.out echo This script will update InvokeAI and all its dependencies to !INVOKE_AI_SRC!. echo If you do not want to do this, press control-C now! pause call curl -L "%INVOKE_AI_DEP%" > environments-and-requirements/requirements-base.txt call curl -L "%INVOKE_AI_MODELS%" > configs/INITIAL_MODELS.yaml call .venv\Scripts\activate.bat call .venv\Scripts\python -mpip install -r requirements.txt if %errorlevel% neq 0 ( echo Installation of requirements failed. See https://invoke-ai.github.io/InvokeAI/installation/INSTALL_AUTOMATED/#troubleshooting for suggestions. pause exit /b ) call .venv\Scripts\python -mpip install !INVOKE_AI_SRC! if %errorlevel% neq 0 ( echo Installation of InvokeAI failed. See https://invoke-ai.github.io/InvokeAI/installation/INSTALL_AUTOMATED/#troubleshooting for suggestions. pause exit /b ) @rem call .venv\Scripts\invokeai-configure --root=. @rem if %errorlevel% neq 0 ( @rem echo Configuration InvokeAI failed. See https://invoke-ai.github.io/InvokeAI/installation/INSTALL_AUTOMATED/#troubleshooting for suggestions. @rem pause @rem exit /b @rem ) echo InvokeAI has been updated to '%INVOKE_AI_VERSION%' echo "Press any key to continue" pause endlocal