82 lines
2.4 KiB
Bash
82 lines
2.4 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
# Exit immediately if a command exits with a non-zero status.
|
|
set -e
|
|
|
|
echo "Starting macOS setup..."
|
|
|
|
# 1. Check for Python 3
|
|
echo "Checking for Python 3..."
|
|
if ! command -v python3 &> /dev/null
|
|
then
|
|
echo "Python 3 could not be found. Please install Python 3."
|
|
echo "You can often install it using Homebrew: brew install python"
|
|
exit 1
|
|
fi
|
|
|
|
# 2. Check Python version (>= 3.9)
|
|
echo "Checking Python 3 version..."
|
|
python3 -c 'import sys; exit(0) if sys.version_info >= (3,9) else exit(1)'
|
|
if [ $? -ne 0 ]; then
|
|
echo "Python 3.9 or higher is required."
|
|
echo "Your version is: $(python3 --version)"
|
|
echo "Please upgrade your Python version. Consider using pyenv or Homebrew to manage Python versions."
|
|
exit 1
|
|
fi
|
|
echo "Python 3.9+ found: $(python3 --version)"
|
|
|
|
# 3. Check for ffmpeg
|
|
echo "Checking for ffmpeg..."
|
|
if ! command -v ffmpeg &> /dev/null
|
|
then
|
|
echo "WARNING: ffmpeg could not be found. This program requires ffmpeg for video processing."
|
|
echo "You can install it using Homebrew: brew install ffmpeg"
|
|
echo "Continuing with setup, but video processing might fail later."
|
|
else
|
|
echo "ffmpeg found: $(ffmpeg -version | head -n 1)"
|
|
fi
|
|
|
|
# 4. Define virtual environment directory
|
|
VENV_DIR=".venv"
|
|
|
|
# 5. Create virtual environment
|
|
if [ -d "$VENV_DIR" ]; then
|
|
echo "Virtual environment '$VENV_DIR' already exists. Skipping creation."
|
|
else
|
|
echo "Creating virtual environment in '$VENV_DIR'..."
|
|
python3 -m venv "$VENV_DIR"
|
|
fi
|
|
|
|
# 6. Activate virtual environment (for this script's session)
|
|
echo "Activating virtual environment..."
|
|
source "$VENV_DIR/bin/activate"
|
|
|
|
# 7. Upgrade pip
|
|
echo "Upgrading pip..."
|
|
pip install --upgrade pip
|
|
|
|
# 8. Install requirements
|
|
echo "Installing requirements from requirements.txt..."
|
|
if [ -f "requirements.txt" ]; then
|
|
pip install -r requirements.txt
|
|
else
|
|
echo "ERROR: requirements.txt not found. Cannot install dependencies."
|
|
# Deactivate on error if desired, or leave active for user to debug
|
|
# deactivate
|
|
exit 1
|
|
fi
|
|
|
|
echo ""
|
|
echo "Setup complete!"
|
|
echo ""
|
|
echo "To activate the virtual environment in your terminal, run:"
|
|
echo " source $VENV_DIR/bin/activate"
|
|
echo ""
|
|
echo "After activating, you can run the application using:"
|
|
echo " python3 run.py [arguments]"
|
|
echo "Or use one of the run_mac_*.sh scripts (e.g., ./run_mac_cpu.sh)."
|
|
echo ""
|
|
|
|
# Deactivate at the end of the script's execution (optional, as script session ends)
|
|
# deactivate
|