environment update from .cmd

This commit is contained in:
hlky 2022-09-16 11:12:15 +01:00
parent 1af2610c71
commit 2c1c9465d5
No known key found for this signature in database
GPG Key ID: 55A99F1E80D907D5
3 changed files with 68 additions and 107 deletions

View File

@ -1,61 +0,0 @@
@echo off
cd %~dp0
:: Duplicate code to find miniconda
IF EXIST custom-conda-path.txt (
FOR /F %%i IN (custom-conda-path.txt) DO set v_custom_path=%%i
)
set v_paths=%ProgramData%\miniconda3
set v_paths=%v_paths%;%USERPROFILE%\miniconda3
set v_paths=%v_paths%;%ProgramData%\anaconda3
set v_paths=%v_paths%;%USERPROFILE%\anaconda3
for %%a in (%v_paths%) do (
IF NOT "%v_custom_path%"=="" (
set v_paths=%v_custom_path%;%v_paths%
)
)
for %%a in (%v_paths%) do (
if EXIST "%%a\Scripts\activate.bat" (
SET v_conda_path=%%a
echo anaconda3/miniconda3 detected in %%a
)
)
IF "%v_conda_path%"=="" (
echo anaconda3/miniconda3 not found. Install from here https://docs.conda.io/en/latest/miniconda.html
pause
exit /b 1
)
:: Update
echo Stashing local changes and pulling latest update...
call git stash
call git pull
set /P restore="Do you want to restore changes you made before updating? (Y/N): "
IF /I "%restore%" == "N" (
echo Removing changes please wait...
call git stash drop
echo Changes removed, press any key to continue...
pause >nul
) ELSE IF /I "%restore%" == "Y" (
echo Restoring changes, please wait...
call git stash pop --quiet
echo Changes restored, press any key to continue...
pause >nul
)
for /f "delims=" %%a in ('git log -1 --format^="%%H" -- environment.yaml') DO set v_cur_hash=%%a
echo %v_cur_hash%>z_version_env.tmp
call conda env create --name "%v_conda_env_name%" -f environment.yaml
call conda env update --name "%v_conda_env_name%" -f environment.yaml
if not defined AUTO pause
call "%v_conda_path%\Scripts\activate.bat"
::cmd /k

View File

@ -43,33 +43,42 @@ IF "%v_conda_path%"=="" (
) )
:CONDA_FOUND :CONDA_FOUND
echo Stashing local changes and pulling latest update...
if not exist "z_version_env.tmp" ( call git stash
:: first time running, we need to update call git pull
set AUTO=1 set /P restore="Do you want to restore changes you made before updating? (Y/N): "
call "update_to_latest.cmd" IF /I "%restore%" == "N" (
echo Removing changes please wait...
call git stash drop
echo Changes removed, press any key to continue...
pause >nul
) ELSE IF /I "%restore%" == "Y" (
echo Restoring changes, please wait...
call git stash pop --quiet
echo Changes restored, press any key to continue...
pause >nul
) )
call "%v_conda_path%\Scripts\activate.bat"
for /f "delims=" %%a in ('git log -1 --format^="%%H" -- environment.yaml') DO set v_cur_hash=%%a
set /p "v_last_hash="<"z_version_env.tmp"
echo %v_cur_hash%>z_version_env.tmp
echo Current environment.yaml hash: %v_cur_hash%
echo Previous environment.yaml hash: %v_last_hash%
if "%v_last_hash%" == "%v_cur_hash%" (
echo environment.yaml unchanged. dependencies should be up to date.
echo if you still have unresolved dependencies, delete "z_version_env.tmp"
) else (
echo environment.yaml changed. updating dependencies
call conda env create --name "%v_conda_env_name%" -f environment.yaml
call conda env update --name "%v_conda_env_name%" -f environment.yaml
)
call "%v_conda_path%\Scripts\activate.bat" "%v_conda_env_name%" call "%v_conda_path%\Scripts\activate.bat" "%v_conda_env_name%"
set v_last_hash=0
set /p "v_last_hash="<"z_version_env.tmp"
for /f "delims=" %%a in ('git log -1 --format^="%%H" -- environment.yaml') DO set v_cur_hash=%%a
if not "%v_last_hash%" == "%v_cur_hash%" (
set /P updateenv="Do you want to update with the latest environment.yaml? (Y/N): "
if /I "%updateenv%" == "N" (
echo Starting without updating dependencies.
) else if /I "%updateenv%" == "Y" (
echo Updating dependencies...
call conda env create --name "%v_conda_env_name%" -f environment.yaml
call conda env update --name "%v_conda_env_name%" -f environment.yaml
echo %v_cur_hash%>z_version_env.tmp
)
) else (
echo No environment.yaml update required.
)
:PROMPT :PROMPT
set SETUPTOOLS_USE_DISTUTILS=stdlib set SETUPTOOLS_USE_DISTUTILS=stdlib
IF EXIST "models\ldm\stable-diffusion-v1\model.ckpt" ( IF EXIST "models\ldm\stable-diffusion-v1\model.ckpt" (
@ -78,3 +87,5 @@ IF EXIST "models\ldm\stable-diffusion-v1\model.ckpt" (
echo Your model file does not exist! Place it in 'models\ldm\stable-diffusion-v1' with the name 'model.ckpt'. echo Your model file does not exist! Place it in 'models\ldm\stable-diffusion-v1' with the name 'model.ckpt'.
pause pause
) )
::cmd /k

View File

@ -43,33 +43,42 @@ IF "%v_conda_path%"=="" (
) )
:CONDA_FOUND :CONDA_FOUND
echo Stashing local changes and pulling latest update...
if not exist "z_version_env.tmp" ( call git stash
:: first time running, we need to update call git pull
set AUTO=1 set /P restore="Do you want to restore changes you made before updating? (Y/N): "
call "update_to_latest.cmd" IF /I "%restore%" == "N" (
echo Removing changes please wait...
call git stash drop
echo Changes removed, press any key to continue...
pause >nul
) ELSE IF /I "%restore%" == "Y" (
echo Restoring changes, please wait...
call git stash pop --quiet
echo Changes restored, press any key to continue...
pause >nul
) )
call "%v_conda_path%\Scripts\activate.bat"
for /f "delims=" %%a in ('git log -1 --format^="%%H" -- environment.yaml') DO set v_cur_hash=%%a
set /p "v_last_hash="<"z_version_env.tmp"
echo %v_cur_hash%>z_version_env.tmp
echo Current environment.yaml hash: %v_cur_hash%
echo Previous environment.yaml hash: %v_last_hash%
if "%v_last_hash%" == "%v_cur_hash%" (
echo environment.yaml unchanged. dependencies should be up to date.
echo if you still have unresolved dependencies, delete "z_version_env.tmp"
) else (
echo environment.yaml changed. updating dependencies
call conda env create --name "%v_conda_env_name%" -f environment.yaml
call conda env update --name "%v_conda_env_name%" -f environment.yaml
)
call "%v_conda_path%\Scripts\activate.bat" "%v_conda_env_name%" call "%v_conda_path%\Scripts\activate.bat" "%v_conda_env_name%"
set v_last_hash=0
set /p "v_last_hash="<"z_version_env.tmp"
for /f "delims=" %%a in ('git log -1 --format^="%%H" -- environment.yaml') DO set v_cur_hash=%%a
if not "%v_last_hash%" == "%v_cur_hash%" (
set /P updateenv="Do you want to update with the latest environment.yaml? (Y/N): "
if /I "%updateenv%" == "N" (
echo Starting without updating dependencies.
) else if /I "%updateenv%" == "Y" (
echo Updating dependencies...
call conda env create --name "%v_conda_env_name%" -f environment.yaml
call conda env update --name "%v_conda_env_name%" -f environment.yaml
echo %v_cur_hash%>z_version_env.tmp
)
) else (
echo No environment.yaml update required.
)
:PROMPT :PROMPT
set SETUPTOOLS_USE_DISTUTILS=stdlib set SETUPTOOLS_USE_DISTUTILS=stdlib
IF EXIST "models\ldm\stable-diffusion-v1\model.ckpt" ( IF EXIST "models\ldm\stable-diffusion-v1\model.ckpt" (
@ -79,3 +88,5 @@ IF EXIST "models\ldm\stable-diffusion-v1\model.ckpt" (
echo Your model file does not exist! Place it in 'models\ldm\stable-diffusion-v1' with the name 'model.ckpt'. echo Your model file does not exist! Place it in 'models\ldm\stable-diffusion-v1' with the name 'model.ckpt'.
pause pause
) )
::cmd /k