WUT_Computer_Science/Programming/PSD/zin3/python/setup_environment.sh

75 lines
2.0 KiB
Bash
Executable File

#!/bin/bash
# Configuration
VENV_NAME="psd_env"
VENV_PATH="$(pwd)/${VENV_NAME}"
PYTHON_VERSION="3.8" # Specify the Python version you want to use
REQUIREMENTS=(
"confluent-kafka"
"apache-flink"
"apache-flink-libraries"
)
echo "Setting up Python environment for PSD project..."
# Check if Python is installed
if ! command -v python3 &> /dev/null; then
echo "Python 3 is not installed. Please install Python 3 first."
exit 1
fi
# Create virtual environment if it doesn't exist
if [ ! -d "$VENV_PATH" ]; then
echo "Creating virtual environment at $VENV_PATH..."
python3 -m venv "$VENV_PATH"
if [ $? -ne 0 ]; then
echo "Failed to create virtual environment. Please check your Python installation."
exit 1
fi
echo "Virtual environment created successfully."
else
echo "Virtual environment already exists at $VENV_PATH."
fi
# Activate virtual environment
echo "Activating virtual environment..."
source "${VENV_PATH}/bin/activate"
if [ $? -ne 0 ]; then
echo "Failed to activate virtual environment."
exit 1
fi
# Upgrade pip
echo "Upgrading pip..."
pip install --upgrade pip
# Install required packages if not already installed
echo "Checking and installing required packages..."
for package in "${REQUIREMENTS[@]}"; do
if ! pip show "$package" &> /dev/null; then
echo "Installing $package..."
pip install "$package"
if [ $? -ne 0 ]; then
echo "Failed to install $package."
exit 1
fi
else
echo "$package is already installed."
fi
done
# Print success message
echo ""
echo "===================================================="
echo "Python environment setup complete!"
echo "Python version: $(python -V)"
echo "Installed packages:"
pip list
echo "===================================================="
echo ""
echo "To activate this environment in the future, run:"
echo "source ${VENV_PATH}/bin/activate"
echo ""
echo "Your environment is now active and ready to use."
echo "===================================================="