fix: 启动脚本绑定 venv Python + 缺依赖自动安装

- 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>
This commit is contained in:
AskaEth
2026-06-13 21:01:33 +08:00
parent ead7d2056b
commit 1301aeb9b7
2 changed files with 42 additions and 18 deletions
+23 -6
View File
@@ -6,11 +6,22 @@ set -e
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
cd "$SCRIPT_DIR"
# ── Python 路径: 优先 venv ──
if [ -f "$SCRIPT_DIR/.venv/bin/python3" ]; then
PYTHON="$SCRIPT_DIR/.venv/bin/python3"
elif [ -f "$SCRIPT_DIR/.venv/bin/python" ]; then
PYTHON="$SCRIPT_DIR/.venv/bin/python"
elif command -v python3 &>/dev/null; then
PYTHON="python3"
else
PYTHON="python"
fi
# ── 颜色 ──
RED='\033[31m'; GREEN='\033[32m'; YELLOW='\033[33m'; NC='\033[0m'
pass=0; fail=0
check() {
if command -v "$1" &>/dev/null || python3 -c "$2" 2>/dev/null; then
if command -v "$1" &>/dev/null || "$PYTHON" -c "$2" 2>/dev/null; then
echo -e " ${GREEN}${NC} $3"
pass=$((pass+1))
else
@@ -23,8 +34,8 @@ echo "🐱 SenSu 依赖检测..."
echo ""
# ── 系统依赖 ──
check "python3" "" "Python 3.11+"
python3 -c "import sys; assert sys.version_info >= (3,11)" 2>/dev/null || {
check "" "" "Python 3.11+"
"$PYTHON" -c "import sys; assert sys.version_info >= (3,11)" 2>/dev/null || {
echo -e " ${YELLOW}⚠ Python 版本过低,需要 3.11+${NC}"
fail=$((fail+1))
}
@@ -36,6 +47,7 @@ check "" "import textual" "Textual (TUI)"
check "" "import watchdog" "watchdog (热重载)"
check "" "import psutil" "psutil (系统监控)"
check "" "import rich" "rich (终端美化)"
check "" "import websockets" "websockets (WebSocket)"
# ── 配置文件 ──
if [ -f "config/framework/base_config.yaml" ]; then
@@ -52,8 +64,13 @@ fi
echo ""
if [ "$fail" -gt 0 ]; then
echo -e "${RED} $fail 项缺失,请先安装: pip install -r requirements.txt${NC}"
exit 1
echo -e "${YELLOW} $fail 项缺失,自动安装...${NC}"
"$PYTHON" -m pip install -r requirements.txt
if [ $? -ne 0 ]; then
echo -e "${RED}❌ 安装失败,请手动执行: python3 -m venv .venv && source .venv/bin/activate && pip install -r requirements.txt${NC}"
exit 1
fi
echo -e "${GREEN}✅ 依赖安装完成${NC}"
fi
echo -e "${GREEN}✅ 所有依赖就绪 ($pass 项)${NC}"
@@ -62,4 +79,4 @@ echo "🚀 启动 SenSu (无头模式)..."
echo " Web 面板: http://0.0.0.0:4200/SenSu"
echo ""
python3 main.py --headless
"$PYTHON" main.py --headless