Files
YG_FT_Platform/create_venv.sh

125 lines
3.5 KiB
Bash
Raw Normal View History

#!/bin/bash
# YG_FT_Base 虚拟环境创建脚本 (Linux/Mac/WSL)
# 使用方法: bash create_venv.sh 或 ./create_venv.sh
# 自动修复脚本换行符(如果是从 Windows 传来的文件)
if grep -q $'\r' "$0"; then
echo "检测到 Windows 换行符,自动修复中..."
sed -i 's/\r$//' "$0"
echo "修复完成,重新执行脚本..."
exec "$0"
fi
echo "===================================="
echo "YG_FT_Base 虚拟环境创建脚本"
echo "===================================="
echo ""
# 设置虚拟环境名称
VENV_NAME="B_venv"
# 检查 Python 版本
echo "检查 Python 版本..."
if command -v python3 &> /dev/null; then
PYTHON_CMD="python3"
python3 --version
elif command -v python &> /dev/null; then
PYTHON_CMD="python"
python --version
else
echo "错误: 未找到 Python请先安装 Python 3.10 或更高版本。"
exit 1
fi
# 检查并安装 python3-venv仅限 Debian/Ubuntu 系统)
echo ""
echo "检查 python3-venv..."
if [ -f /etc/debian_version ]; then
echo "检测到 Debian/Ubuntu 系统"
if ! dpkg -l | grep -q python3-venv; then
echo "python3-venv 未安装,尝试安装..."
if [ -x "$(command -v apt)" ]; then
apt update && apt install -y python3-venv python3-pip
if [ $? -ne 0 ]; then
echo "警告: 安装 python3-venv 失败,请手动运行:"
echo " apt install python3-venv python3-pip"
echo "然后重新运行此脚本。"
exit 1
fi
echo "python3-venv 安装成功!"
else
echo "错误: 未找到 apt 包管理器,请手动安装 python3-venv。"
exit 1
fi
else
echo "python3-venv 已安装。"
fi
elif [ -f /etc/redhat-release ]; then
echo "检测到 RedHat/CentOS/Fedora 系统"
if ! rpm -qa | grep -q python3-virtualenv; then
echo "python3-virtualenv 未安装,尝试安装..."
if [ -x "$(command -v yum)" ]; then
yum install -y python3-virtualenv python3-pip
elif [ -x "$(command -v dnf)" ]; then
dnf install -y python3-virtualenv python3-pip
fi
fi
fi
# 检查是否已存在虚拟环境
if [ -d "$VENV_NAME" ]; then
echo "警告: 虚拟环境 '$VENV_NAME' 已存在!"
read -p "是否删除并重新创建? (y/n): " choice
if [[ "$choice" == "y" || "$choice" == "Y" ]]; then
echo "删除旧虚拟环境..."
rm -rf "$VENV_NAME"
else
echo "已取消操作。"
exit 0
fi
fi
# 创建虚拟环境
echo ""
echo "创建虚拟环境..."
$PYTHON_CMD -m venv "$VENV_NAME"
if [ $? -ne 0 ]; then
echo "错误: 创建虚拟环境失败!"
exit 1
fi
echo "虚拟环境创建成功!"
# 激活虚拟环境并升级 pip
echo ""
echo "激活虚拟环境并升级 pip..."
source "$VENV_NAME/bin/activate"
python -m pip install --upgrade pip setuptools wheel
echo "pip 升级完成!"
# 安装依赖
echo ""
echo "安装项目依赖..."
if [ -f "requirements.txt" ]; then
pip install -r requirements.txt
if [ $? -eq 0 ]; then
echo "依赖安装成功!"
else
echo "警告: 依赖安装过程中出现一些问题。"
fi
else
echo "未找到 requirements.txt跳过依赖安装。"
fi
# 完成信息
echo ""
echo "===================================="
echo "虚拟环境创建完成!"
echo "===================================="
echo ""
echo "激活虚拟环境:"
echo " source $VENV_NAME/bin/activate"
echo ""
echo "运行项目:"
echo " python src/main.py"
echo ""