| set -euo pipefail | |
| ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" | |
| cd "$ROOT_DIR" | |
| if ! command -v python3.11 >/dev/null 2>&1; then | |
| echo "[ERROR] 未找到 python3.11,请先安装 Python 3.11。" | |
| exit 1 | |
| fi | |
| if [[ -d .venv ]]; then | |
| CUR_VER="$(.venv/bin/python -c 'import sys; print(f"{sys.version_info.major}.{sys.version_info.minor}")' 2>/dev/null || true)" | |
| if [[ "$CUR_VER" != "3.11" ]]; then | |
| BACKUP_DIR=".venv.backup.$(date +%Y%m%d-%H%M%S)" | |
| echo "[INFO] 现有 .venv 版本为 ${CUR_VER:-unknown},移动到 $BACKUP_DIR" | |
| mv .venv "$BACKUP_DIR" | |
| fi | |
| fi | |
| python3.11 -m venv .venv | |
| source .venv/bin/activate | |
| python -m pip install --upgrade pip | |
| python -m pip install -r requirements-service.txt | |
| python - <<'PY' | |
| import sys | |
| print("[OK] venv Python:", sys.version) | |
| import coremltools | |
| print("[OK] coremltools:", coremltools.__version__) | |
| PY | |
| echo "[DONE] 环境准备完成,运行 ./run_server.sh 启动服务。" | |