From b9b9a3276292d651ca1eff9b7c060057551b1a2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=96=87=E8=96=87=E5=AE=89?= Date: Tue, 5 May 2026 22:35:08 +0800 Subject: [PATCH] 1 --- scripts/apply_steady_lift_tier1.sh | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/scripts/apply_steady_lift_tier1.sh b/scripts/apply_steady_lift_tier1.sh index f462e10..30e7731 100755 --- a/scripts/apply_steady_lift_tier1.sh +++ b/scripts/apply_steady_lift_tier1.sh @@ -15,13 +15,35 @@ set -euo pipefail ROOT="$(cd "$(dirname "$0")/.." && pwd)" cd "$ROOT" +# 优先使用项目虚拟环境里的 Python(与 backend/start_recommendations.sh 一致),避免系统 python3 缺依赖报 ModuleNotFoundError +PYTHON_BIN="" +for _py in \ + "${ROOT}/.venv/bin/python" \ + "${ROOT}/trading_system/.venv/bin/python" \ + "${ROOT}/backend/.venv/bin/python"; do + if [ -x "$_py" ]; then + PYTHON_BIN="$_py" + break + fi +done +if [ -z "$PYTHON_BIN" ]; then + if command -v python3 >/dev/null 2>&1; then + PYTHON_BIN="$(command -v python3)" + echo "警告: 未找到 .venv / trading_system/.venv / backend/.venv,改用: $PYTHON_BIN" >&2 + echo " 若出现 ModuleNotFoundError,请在项目根创建 venv 并安装依赖后再运行本脚本。" >&2 + else + echo "错误: 未找到 python3,且不存在 ${ROOT}/.venv(或 trading_system/.venv、backend/.venv)" >&2 + exit 1 + fi +fi + DRY_RUN=() if [[ "${1:-}" == "--dry-run" ]]; then DRY_RUN=(--dry-run) fi # 使用 apply_config_patch_only:只写本 JSON 中的键,不合并 apply_recommended_config 内置批量默认 -exec python3 "$ROOT/scripts/apply_config_patch_only.py" \ +exec "$PYTHON_BIN" "$ROOT/scripts/apply_config_patch_only.py" \ --from "$ROOT/config/my_batch_steady_lift_tier1.json" \ --updated-by "steady_lift_tier1" \ "${DRY_RUN[@]}"