39 lines
1.5 KiB
Bash
Executable file
39 lines
1.5 KiB
Bash
Executable file
#!/bin/zsh
|
|
cd "$(dirname "$0")"
|
|
# Prefer python3 but fall back to python; allow overriding via env
|
|
PYTHON_BIN="${PYTHON_BIN:-$(command -v python3 || command -v python)}"
|
|
if [[ -z "$PYTHON_BIN" ]]; then
|
|
echo "Error: Python not found."
|
|
echo "Please install Python 3."
|
|
echo " - On macOS: brew install python3"
|
|
echo " - Or download from https://www.python.org/downloads/"
|
|
read -k 1 "key?Press any key to exit..."
|
|
exit 1
|
|
fi
|
|
|
|
# Create a virtual environment if missing, then activate it
|
|
# Create a virtual environment if missing, then activate it
|
|
if [[ ! -d ".venv" ]]; then
|
|
echo "Creating virtual environment..."
|
|
"$PYTHON_BIN" -m venv .venv || { echo "Error: Failed to create virtual environment."; read -k 1 "key?Press any key to exit..."; exit 1; }
|
|
fi
|
|
|
|
echo "Activating virtual environment..."
|
|
source .venv/bin/activate || { echo "Error: Failed to activate virtual environment."; read -k 1 "key?Press any key to exit..."; exit 1; }
|
|
|
|
# Ensure dependencies are available (skip reinstall if up-to-date)
|
|
echo "Installing dependencies..."
|
|
pip install -r requirements.txt || { echo "Error: Failed to install dependencies."; read -k 1 "key?Press any key to exit..."; exit 1; }
|
|
|
|
# Start the Flask app on port 8888
|
|
echo "Starting application..."
|
|
.venv/bin/python app.py
|
|
|
|
if [[ $? -ne 0 ]]; then
|
|
echo "Error: Application crashed or exited with an error."
|
|
read -k 1 "key?Press any key to exit..."
|
|
exit 1
|
|
fi
|
|
|
|
echo "Application finished successfully."
|
|
read -k 1 "key?Press any key to exit..."
|