Optimize dependency installation in start scripts to skip if already satisfied

This commit is contained in:
Abolfazl
2026-05-09 19:28:28 +03:30
parent f0b2d46c49
commit ff3150e500
2 changed files with 38 additions and 18 deletions
+23 -11
View File
@@ -39,18 +39,30 @@ if not exist "%VENV_DIR%\Scripts\python.exe" (
set "VPY=%VENV_DIR%\Scripts\python.exe"
echo [*] Installing dependencies ...
"%VPY%" -m pip install --disable-pip-version-check -q --upgrade pip >nul
"%VPY%" -m pip install --disable-pip-version-check -q -r requirements.txt
if errorlevel 1 (
echo [!] PyPI install failed. Retrying via runflare mirror ...
"%VPY%" -m pip install --disable-pip-version-check -q -r requirements.txt ^
-i https://mirror-pypi.runflare.com/simple/ ^
--trusted-host mirror-pypi.runflare.com
REM -------- Skip dependency install when all required packages are already importable.
REM Pip install (even with -q) takes ~3-8s every launch; this drops it to ~0.1s
REM on warm runs. Falls through to the install path on first run, after a
REM requirements.txt change, or when any import fails for any reason.
set "DEPS_OK=0"
"%VPY%" -c "import cryptography, h2, brotli, zstandard" >nul 2>&1
if !errorlevel!==0 set "DEPS_OK=1"
if "!DEPS_OK!"=="1" (
echo [*] Dependencies already installed — skipping pip install.
) else (
echo [*] Installing dependencies ...
"%VPY%" -m pip install --disable-pip-version-check -q --upgrade pip >nul
"%VPY%" -m pip install --disable-pip-version-check -q -r requirements.txt
if errorlevel 1 (
echo [X] Could not install dependencies.
pause
exit /b 1
echo [!] PyPI install failed. Retrying via runflare mirror ...
"%VPY%" -m pip install --disable-pip-version-check -q -r requirements.txt ^
-i https://mirror-pypi.runflare.com/simple/ ^
--trusted-host mirror-pypi.runflare.com
if errorlevel 1 (
echo [X] Could not install dependencies.
pause
exit /b 1
)
)
)