Built a universal manager and installer for all operating systems and environments. Bumped a lot of versions of things. Still needs deep testing.
This commit is contained in:
77
run_windows.bat
Normal file
77
run_windows.bat
Normal file
@@ -0,0 +1,77 @@
|
||||
@echo off&&cd /d %~dp0
|
||||
REM Update-and-run script for Windows - thin bootstrap over the in-repo manager.
|
||||
REM
|
||||
REM Everything (venv via uv-managed Python, torch for your GPU, requirements,
|
||||
REM portable Node.js / FFmpeg / Git, dependency updates) is handled by
|
||||
REM `python -m manager`; this script only makes sure uv + a Python interpreter
|
||||
REM exist, then delegates.
|
||||
setlocal EnableDelayedExpansion
|
||||
Title AI Toolkit
|
||||
|
||||
echo.
|
||||
echo _ ___ _____ _ _ _ _
|
||||
echo / \ ^|_ _^| ^|_ _^| ___ ___ ^| ^|^| ^| __(_)^| ^|_
|
||||
echo / _ \ ^| ^| ^| ^| / _ \ / _ \^| ^|^| ^|/ /^| ^|^| __^|
|
||||
echo / ___ \ ^| ^| ^| ^| ^| (_) ^|^| (_) ^| ^|^| ^< ^| ^|^| ^|_
|
||||
echo /_/ \_\^|___^| ^|_^| \___/ \___/^|_^|^|_^|\_\^|_^| \__^|
|
||||
echo.
|
||||
echo Windows Setup ^& Launcher
|
||||
echo.
|
||||
|
||||
REM Clear env vars that let a stray conda/pyenv/system Python hijack things
|
||||
set PYTHONPATH=
|
||||
set PYTHONHOME=
|
||||
set PYTHONSTARTUP=
|
||||
set PYTHONUSERBASE=
|
||||
set PIP_CONFIG_FILE=
|
||||
set VIRTUAL_ENV=
|
||||
set CONDA_PREFIX=
|
||||
set CONDA_DEFAULT_ENV=
|
||||
set PYENV_ROOT=
|
||||
set PYENV_VERSION=
|
||||
|
||||
REM ---- 1. Ensure uv (prebuilt static binary, kept inside the repo) ----
|
||||
set "PATH=%~dp0.uv;%PATH%"
|
||||
set "UV_PYTHON_INSTALL_DIR=%~dp0.uv\python"
|
||||
where uv.exe >nul 2>&1
|
||||
if errorlevel 1 (
|
||||
echo Downloading uv ^(package/python manager^) into .uv\ ...
|
||||
powershell -NoProfile -ExecutionPolicy ByPass -Command ^
|
||||
"$env:UV_INSTALL_DIR = Join-Path '%~dp0' '.uv'; $env:UV_NO_MODIFY_PATH = '1'; irm https://astral.sh/uv/install.ps1 | iex"
|
||||
where uv.exe >nul 2>&1
|
||||
if errorlevel 1 (
|
||||
echo ERROR: uv download failed. See https://docs.astral.sh/uv/
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
)
|
||||
|
||||
REM ---- 2. Find a Python to run the manager (stdlib-only, needs 3.9+) ----
|
||||
set "PY="
|
||||
for %%C in (python.exe py.exe) do (
|
||||
if not defined PY (
|
||||
%%C -c "import sys; sys.exit(0 if sys.version_info >= (3, 9) else 1)" >nul 2>&1
|
||||
if not errorlevel 1 set "PY=%%C"
|
||||
)
|
||||
)
|
||||
if not defined PY (
|
||||
echo No system Python found - provisioning one with uv...
|
||||
uv python install 3.12
|
||||
for /f "delims=" %%P in ('uv python find 3.12') do set "PY=%%P"
|
||||
)
|
||||
if not defined PY (
|
||||
echo ERROR: could not find or install a Python interpreter.
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
REM ---- 3. Sync the environment and start the UI ----
|
||||
"%PY%" -m manager update --auto
|
||||
if errorlevel 1 (
|
||||
echo.
|
||||
echo Setup failed - see output above.
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
"%PY%" -m manager launch
|
||||
pause
|
||||
Reference in New Issue
Block a user