1301aeb9b7
- start.bat: 改用 .venv\Scripts\python.exe,缺依赖时自动 pip install - start.sh: 优先 .venv/bin/python3,fallback 到系统 python3/python - 两个脚本均不再依赖 uv,使用标准 python -m venv + pip Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
79 lines
2.4 KiB
Batchfile
79 lines
2.4 KiB
Batchfile
@echo off
|
|
chcp 65001 >nul
|
|
setlocal enabledelayedexpansion
|
|
title SenSu Server
|
|
|
|
cd /d "%~dp0"
|
|
|
|
echo 🐱 SenSu 依赖检测...
|
|
echo.
|
|
|
|
set PASS=0
|
|
set FAIL=0
|
|
|
|
:: ── Python (venv) ──
|
|
set PYTHON=%~dp0.venv\Scripts\python.exe
|
|
if not exist "%PYTHON%" (echo [FAIL] .venv 未创建,请先运行: python -m venv .venv ^&^& .venv\Scripts\pip install -r requirements.txt & pause & exit /b 1)
|
|
"%PYTHON%" --version >nul 2>&1
|
|
if %errorlevel% equ 0 (
|
|
echo [OK] Python
|
|
set /a PASS+=1
|
|
) else (
|
|
echo [FAIL] Python 未安装
|
|
set /a FAIL+=1
|
|
)
|
|
|
|
:: ── Python 依赖 ──
|
|
"%PYTHON%" -c "import aiohttp" >nul 2>&1
|
|
if %errorlevel% equ 0 (echo [OK] aiohttp& set /a PASS+=1) else (echo [FAIL] aiohttp 缺失& set /a FAIL+=1)
|
|
|
|
"%PYTHON%" -c "import yaml" >nul 2>&1
|
|
if %errorlevel% equ 0 (echo [OK] PyYAML& set /a PASS+=1) else (echo [FAIL] PyYAML 缺失& set /a FAIL+=1)
|
|
|
|
"%PYTHON%" -c "import textual" >nul 2>&1
|
|
if %errorlevel% equ 0 (echo [OK] Textual& set /a PASS+=1) else (echo [FAIL] Textual 缺失& set /a FAIL+=1)
|
|
|
|
"%PYTHON%" -c "import watchdog" >nul 2>&1
|
|
if %errorlevel% equ 0 (echo [OK] watchdog& set /a PASS+=1) else (echo [FAIL] watchdog 缺失& set /a FAIL+=1)
|
|
|
|
"%PYTHON%" -c "import psutil" >nul 2>&1
|
|
if %errorlevel% equ 0 (echo [OK] psutil& set /a PASS+=1) else (echo [FAIL] psutil 缺失& set /a FAIL+=1)
|
|
|
|
"%PYTHON%" -c "import rich" >nul 2>&1
|
|
if %errorlevel% equ 0 (echo [OK] rich& set /a PASS+=1) else (echo [FAIL] rich 缺失& set /a FAIL+=1)
|
|
|
|
:: ── 配置文件 ──
|
|
if exist "config\framework\base_config.yaml" (
|
|
echo [OK] base_config.yaml
|
|
set /a PASS+=1
|
|
) else if exist "config\framework\base_config.yaml.example" (
|
|
copy "config\framework\base_config.yaml.example" "config\framework\base_config.yaml" >nul
|
|
echo [OK] 从模板创建 base_config.yaml
|
|
set /a PASS+=1
|
|
) else (
|
|
echo [FAIL] 配置文件缺失
|
|
set /a FAIL+=1
|
|
)
|
|
|
|
echo.
|
|
if %FAIL% gtr 0 (
|
|
echo [WARN] %FAIL% 项缺失,自动安装...
|
|
"%PYTHON%" -m pip install -r requirements.txt
|
|
if %errorlevel% neq 0 (
|
|
echo [FAIL] 安装失败,请手动执行: .venv\Scripts\pip install -r requirements.txt
|
|
pause
|
|
exit /b 1
|
|
)
|
|
echo [OK] 依赖安装完成
|
|
)
|
|
|
|
echo [OK] 所有依赖就绪 (%PASS% 项)
|
|
echo.
|
|
echo 🚀 启动 SenSu (无头模式)...
|
|
echo Web 面板: http://0.0.0.0:4200/SenSu
|
|
echo.
|
|
|
|
"%PYTHON%" main.py --headless
|
|
|
|
pause
|