Mooncake/mooncake-integration/ollama/scripts/setup_py.sh

45 lines
1.4 KiB
Bash

#!/usr/bin/env bash
# Create a venv on /data2 and install Python deps (mooncake + grpc + bench tooling).
set -euo pipefail
source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/env.sh"
if [ ! -d "$VENV" ]; then
echo "[py] creating venv at $VENV"
python3 -m venv "$VENV"
fi
# shellcheck disable=SC1091
source "$VENV/bin/activate"
python -m pip install --upgrade pip wheel setuptools >/dev/null
echo "[py] installing core deps"
pip install \
"mooncake-transfer-engine==0.3.11.post1" \
"grpcio==1.62.3" "grpcio-tools==1.62.3" "protobuf>=4.25,<5" \
"numpy" "requests" "aiohttp" "rich" "matplotlib" "pyyaml" "prometheus-client"
echo "[py] verifying mooncake imports"
python - <<'PY'
import importlib, sys
ok = True
for m in ("mooncake.engine", "mooncake.store"):
try:
mod = importlib.import_module(m)
print(f" OK {m} -> {getattr(mod,'__file__','?')}")
except Exception as e:
ok = False
print(f" ERR {m}: {e}")
try:
from mooncake.store import MooncakeDistributedStore, ReplicateConfig # noqa
print(" OK MooncakeDistributedStore + ReplicateConfig")
except Exception as e:
print(f" WARN MooncakeDistributedStore/ReplicateConfig: {e}")
try:
from mooncake.engine import TransferEngine
print(" OK TransferEngine")
except Exception as e:
print(f" WARN TransferEngine: {e}")
sys.exit(0 if ok else 1)
PY
echo "[py] done"