CostPrediction/scripts/setup_env.sh

66 lines
1.7 KiB
Bash
Executable File

#!/bin/bash
# 检查 pyenv 是否安装
if ! command -v pyenv &> /dev/null; then
echo "pyenv not found. Installing..."
if [[ "$OSTYPE" == "darwin"* ]]; then
brew install pyenv
else
curl https://pyenv.run | bash
fi
fi
# 安装指定版本的 Python
pyenv install 3.11.8 || true
# 设置本地 Python 版本
pyenv local 3.11.8
# 确保使用正确的 Python 版本
eval "$(pyenv init -)"
pyenv shell 3.11.8
# 验证 Python 版本
python_version=$(python -V 2>&1)
if [[ $python_version != *"3.11.8"* ]]; then
echo "Error: Wrong Python version: $python_version"
echo "Please ensure pyenv is properly configured in your shell"
exit 1
fi
# 创建虚拟环境
python -m venv .venv
# 激活虚拟环境
source .venv/bin/activate
# 升级 pip 和构建工具
python -m pip install --upgrade pip setuptools wheel
# 分步安装依赖以确保正确的顺序和版本
echo "Installing database dependencies..."
pip install mysql-connector-python==8.0.33
echo "Installing PyTorch and related packages..."
pip install torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 --index-url https://download.pytorch.org/whl/cpu
echo "Installing basic dependencies..."
pip install numpy==1.26.4 pandas==2.2.1
echo "Installing machine learning packages..."
pip install scikit-learn==1.5.2
# 安装开发依赖
if ! pip install -e ".[dev]"; then
echo "Warning: Failed to install development dependencies. Installing core package..."
pip install -e .
fi
# 验证安装
echo "Verifying Python version..."
python --version
echo "Verifying PyTorch installation..."
python -c "import torch; print(f'PyTorch version: {torch.__version__}')"
echo "Environment setup complete!"