Spaces:
Running
Running
| # Quick Environment Test - Linux/macOS | |
| # This script tests the environment for ACE-Step | |
| set -euo pipefail | |
| SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" | |
| echo "========================================" | |
| echo "Quick Environment Test" | |
| echo "========================================" | |
| echo | |
| OS_NAME="$(uname)" | |
| ARCH="$(uname -m)" | |
| echo "[Info] OS: $OS_NAME ($ARCH)" | |
| echo | |
| # Test 1: Check Python | |
| echo "[Test 1] Checking Python..." | |
| if command -v python3 &>/dev/null; then | |
| echo "[PASS] Python3 found" | |
| python3 --version | |
| elif command -v python &>/dev/null; then | |
| echo "[PASS] Python found" | |
| python --version | |
| else | |
| echo "[INFO] Python not found in PATH" | |
| fi | |
| echo | |
| # Test 2: Check uv | |
| echo "[Test 2] Checking uv..." | |
| UV_FOUND=0 | |
| if command -v uv &>/dev/null; then | |
| echo "[PASS] uv found in PATH" | |
| uv --version | |
| UV_FOUND=1 | |
| else | |
| echo "[INFO] uv not found in PATH" | |
| if [[ -x "$HOME/.local/bin/uv" ]]; then | |
| echo "[INFO] But uv exists at: $HOME/.local/bin/uv" | |
| "$HOME/.local/bin/uv" --version | |
| UV_FOUND=1 | |
| elif [[ -x "$HOME/.cargo/bin/uv" ]]; then | |
| echo "[INFO] But uv exists at: $HOME/.cargo/bin/uv" | |
| "$HOME/.cargo/bin/uv" --version | |
| UV_FOUND=1 | |
| else | |
| echo "[INFO] uv not installed" | |
| fi | |
| fi | |
| echo | |
| # Test 3: Check git | |
| echo "[Test 3] Checking git..." | |
| if command -v git &>/dev/null; then | |
| echo "[PASS] git found" | |
| git --version | |
| else | |
| echo "[INFO] git not found" | |
| if [[ "$OS_NAME" == "Darwin" ]]; then | |
| echo "Install: xcode-select --install or brew install git" | |
| else | |
| echo "Install: sudo apt install git or sudo yum install git" | |
| fi | |
| fi | |
| echo | |
| # Test 4: Check GPU / accelerator | |
| echo "[Test 4] Checking GPU/accelerator..." | |
| if [[ "$OS_NAME" == "Darwin" && "$ARCH" == "arm64" ]]; then | |
| echo "[PASS] Apple Silicon detected (MPS/MLX available)" | |
| # Check for MLX | |
| if command -v python3 &>/dev/null; then | |
| python3 -c "import mlx; print(f'MLX version: {mlx.__version__}')" 2>/dev/null && echo "[PASS] MLX is available" || echo "[INFO] MLX not installed (will be installed by uv sync)" | |
| fi | |
| elif [[ "$OS_NAME" == "Linux" ]]; then | |
| if command -v nvidia-smi &>/dev/null; then | |
| echo "[PASS] NVIDIA GPU detected" | |
| nvidia-smi --query-gpu=name,memory.total --format=csv,noheader 2>/dev/null || echo " (could not query GPU details)" | |
| else | |
| echo "[INFO] NVIDIA GPU not detected (nvidia-smi not found)" | |
| echo " CUDA is recommended for Linux. CPU mode may be very slow." | |
| fi | |
| else | |
| echo "[INFO] No known accelerator detected" | |
| fi | |
| echo | |
| # Test 5: Test internet connectivity | |
| echo "[Test 5] Testing internet connectivity..." | |
| if command -v curl &>/dev/null; then | |
| if curl -s --connect-timeout 5 -o /dev/null -w "%{http_code}" https://astral.sh 2>/dev/null | grep -q "^[23]"; then | |
| echo "[PASS] Can access astral.sh" | |
| else | |
| echo "[FAIL] Cannot access astral.sh" | |
| fi | |
| elif command -v wget &>/dev/null; then | |
| if wget -q --spider --timeout=5 https://astral.sh 2>/dev/null; then | |
| echo "[PASS] Can access astral.sh" | |
| else | |
| echo "[FAIL] Cannot access astral.sh" | |
| fi | |
| else | |
| echo "[INFO] Neither curl nor wget found, skipping connectivity test" | |
| fi | |
| echo | |
| # Test 6: Check pyproject.toml | |
| echo "[Test 6] Checking project configuration..." | |
| if [[ -f "$SCRIPT_DIR/pyproject.toml" ]]; then | |
| echo "[PASS] pyproject.toml found" | |
| echo | |
| echo "Available scripts:" | |
| grep -E "^(acestep|acestep-api|acestep-download) = " "$SCRIPT_DIR/pyproject.toml" 2>/dev/null || echo " (scripts section not found)" | |
| else | |
| echo "[FAIL] pyproject.toml not found" | |
| fi | |
| echo | |
| # Summary | |
| echo "========================================" | |
| echo "Summary" | |
| echo "========================================" | |
| echo | |
| if [[ $UV_FOUND -eq 1 ]]; then | |
| echo "[RESULT] Environment: uv" | |
| echo " Ready to use!" | |
| if [[ "$OS_NAME" == "Darwin" && "$ARCH" == "arm64" ]]; then | |
| echo " Recommended launcher: ./start_gradio_ui_macos.sh (MLX)" | |
| else | |
| echo " Recommended launcher: ./start_gradio_ui.sh" | |
| fi | |
| else | |
| echo "[RESULT] No environment found" | |
| echo " Action: Run ./install_uv.sh to install uv" | |
| fi | |
| echo | |