feat: add start.sh for Linux/macOS, harden both launchers
start.sh mirrors start.bat: finds Python 3.10+, creates the venv, installs PyTorch (CUDA index on Linux, the MPS build on macOS, or the CPU index with --cpu), installs ACE-Step, reports the device and launches the UI. Same flags, and the defaults can also come from the environment (PORT=7870 ./start.sh). On macOS it passes --bf16 false, which the README already calls for. Dropped start.sh from .gitignore, where it sat among the upstream author's local scratch files. Both launchers also gain two fixes found while testing on WSL: - A venv is only accepted if pip works in it, not merely if the interpreter exists. A directory left by an interrupted install looked ready and then failed several steps later with a misleading "check your internet connection". Such a venv is now recreated, and if creation fails on Debian/Ubuntu the error points at python3-venv, which is the actual cause there. - The launch banner announced the URL as if the server were already up, while model loading still had a minute to go. It now says the interface will be available once "Running on local URL" appears. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
e9ea6b9bab
commit
7f441defcc
@@ -68,8 +68,15 @@ if "%DO_REINSTALL%"=="1" (
|
||||
)
|
||||
|
||||
REM ------------------------- поиск Python -------------------------
|
||||
if exist "%VENV_PY%" goto venv_ready
|
||||
REM Рабочим считаем окружение, в котором есть и python, и pip: каталог от
|
||||
REM прерванной установки выглядит как готовый, но валится дальше с невнятной
|
||||
REM ошибкой про интернет.
|
||||
if not exist "%VENV_PY%" goto venv_create
|
||||
"%VENV_PY%" -m pip --version >nul 2>&1 && goto venv_ready
|
||||
echo [1/4] Окружение "%VENV_DIR%" неработоспособно, пересоздаю...
|
||||
rmdir /s /q "%VENV_DIR%"
|
||||
|
||||
:venv_create
|
||||
echo [1/4] Ищу подходящий Python...
|
||||
set "SYS_PY="
|
||||
for %%V in (3.12 3.11 3.10 3.13) do (
|
||||
@@ -92,14 +99,9 @@ echo Найден Python %PYVER% (%SYS_PY%)
|
||||
|
||||
echo [1/4] Создаю виртуальное окружение в "%VENV_DIR%"...
|
||||
%SYS_PY% -m venv "%VENV_DIR%"
|
||||
if errorlevel 1 (
|
||||
echo [ОШИБКА] Не удалось создать виртуальное окружение.
|
||||
goto fail
|
||||
)
|
||||
if not exist "%VENV_PY%" (
|
||||
echo [ОШИБКА] Виртуальное окружение создано некорректно: нет "%VENV_PY%".
|
||||
goto fail
|
||||
)
|
||||
if errorlevel 1 goto venv_failed
|
||||
if not exist "%VENV_PY%" goto venv_failed
|
||||
"%VENV_PY%" -m pip --version >nul 2>&1 || goto venv_failed
|
||||
set "FRESH_VENV=1"
|
||||
|
||||
:venv_ready
|
||||
@@ -205,9 +207,12 @@ if "%OPT_LOWVRAM%"=="1" set "ARGS=%ARGS% --cpu_offload true --overlapped_decode
|
||||
|
||||
echo [4/4] Запускаю веб-интерфейс...
|
||||
echo.
|
||||
echo Адрес: http://%SERVER_NAME%:%PORT%
|
||||
if "%OPT_LOWVRAM%"=="1" echo Режим: экономия видеопамяти
|
||||
echo Первый запуск скачивает веса модели (~8 ГБ) - наберитесь терпения.
|
||||
echo Идёт загрузка моделей, это занимает время.
|
||||
echo При первом запуске дополнительно скачиваются веса (~8 ГБ).
|
||||
echo.
|
||||
echo Интерфейс будет доступен на http://%SERVER_NAME%:%PORT%
|
||||
echo когда ниже появится строка "Running on local URL".
|
||||
echo Остановить: Ctrl+C в этом окне.
|
||||
echo.
|
||||
|
||||
@@ -240,6 +245,13 @@ echo.
|
||||
goto success
|
||||
|
||||
REM ------------------------- завершение -------------------------
|
||||
:venv_failed
|
||||
echo.
|
||||
echo [ОШИБКА] Не удалось создать рабочее виртуальное окружение в "%VENV_DIR%".
|
||||
echo Переустановите Python с https://www.python.org/downloads/,
|
||||
echo отметив "Add Python to PATH", и запустите "%SCRIPT_NAME% --reinstall".
|
||||
goto fail
|
||||
|
||||
:fail
|
||||
echo.
|
||||
pause
|
||||
|
||||
Reference in New Issue
Block a user