- 添加 install.bat Windows一键安装脚本 - 添加 install.sh Linux/Mac一键安装脚本 - 添加 auto_install.py 跨平台自动化安装脚本 - 更新 README.md 添加详细的一键安装说明 - 测试环境检查脚本功能正常
97 lines
2.9 KiB
Bash
97 lines
2.9 KiB
Bash
#!/bin/bash
|
||
|
||
set -e
|
||
|
||
echo "============================================================"
|
||
echo "信用卡欺诈检测系统 - 一键安装脚本"
|
||
echo "============================================================"
|
||
echo ""
|
||
|
||
# 检查Python是否安装
|
||
if ! command -v python3 &> /dev/null; then
|
||
echo "[错误] 未检测到Python,请先安装Python 3.10或更高版本"
|
||
echo "Ubuntu/Debian: sudo apt-get install python3 python3-pip"
|
||
echo "CentOS/RHEL: sudo yum install python3 python3-pip"
|
||
echo "macOS: brew install python3"
|
||
exit 1
|
||
fi
|
||
|
||
echo "[步骤 1/5] 检查Python版本..."
|
||
PYTHON_VERSION=$(python3 --version 2>&1 | awk '{print $2}')
|
||
echo "Python版本: $PYTHON_VERSION"
|
||
echo ""
|
||
|
||
# 检查Python版本是否满足要求
|
||
PYTHON_MAJOR=$(echo $PYTHON_VERSION | cut -d. -f1)
|
||
PYTHON_MINOR=$(echo $PYTHON_VERSION | cut -d. -f2)
|
||
|
||
if [ "$PYTHON_MAJOR" -lt 3 ] || ([ "$PYTHON_MAJOR" -eq 3 ] && [ "$PYTHON_MINOR" -lt 10 ]); then
|
||
echo "[错误] Python版本过低,需要3.10或更高版本"
|
||
exit 1
|
||
fi
|
||
|
||
echo "[步骤 2/5] 安装Python依赖..."
|
||
echo "正在安装依赖包,这可能需要几分钟..."
|
||
pip3 install -r requirements.txt
|
||
if [ $? -ne 0 ]; then
|
||
echo "[错误] 依赖安装失败"
|
||
echo "请检查网络连接或尝试使用国内镜像源:"
|
||
echo "pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple"
|
||
exit 1
|
||
fi
|
||
echo "依赖安装完成"
|
||
echo ""
|
||
|
||
echo "[步骤 3/5] 检查数据文件..."
|
||
if [ ! -f "data/creditcard.csv" ]; then
|
||
echo "[警告] 未找到数据文件 data/creditcard.csv"
|
||
echo ""
|
||
echo "请从以下地址下载数据集:"
|
||
echo "https://www.kaggle.com/datasets/mlg-ulb/creditcardfraud"
|
||
echo ""
|
||
echo "下载后将 creditcard.csv 文件放入 data/ 目录"
|
||
echo ""
|
||
read -p "数据文件已准备好吗?(Y/N): " DATA_READY
|
||
if [[ ! "$DATA_READY" =~ ^[Yy]$ ]]; then
|
||
echo "安装已取消"
|
||
exit 1
|
||
fi
|
||
else
|
||
echo "数据文件已存在"
|
||
fi
|
||
echo ""
|
||
|
||
echo "[步骤 4/5] 检查模型文件..."
|
||
if [ ! -f "models/random_forest_model.joblib" ]; then
|
||
echo "模型文件不存在,开始训练模型..."
|
||
echo "这可能需要几分钟,请耐心等待..."
|
||
python3 src/train.py
|
||
if [ $? -ne 0 ]; then
|
||
echo "[错误] 模型训练失败"
|
||
exit 1
|
||
fi
|
||
echo "模型训练完成"
|
||
else
|
||
echo "模型文件已存在"
|
||
fi
|
||
echo ""
|
||
|
||
echo "[步骤 5/5] 运行环境检查..."
|
||
python3 check_environment.py
|
||
if [ $? -ne 0 ]; then
|
||
echo "[警告] 环境检查发现问题,但将继续启动应用"
|
||
fi
|
||
echo ""
|
||
|
||
echo "============================================================"
|
||
echo "安装完成!正在启动Web界面..."
|
||
echo "============================================================"
|
||
echo ""
|
||
echo "提示:"
|
||
echo "- Web界面将在浏览器中自动打开"
|
||
echo "- 如果没有自动打开,请访问: http://localhost:8501"
|
||
echo "- 按 Ctrl+C 可以停止服务"
|
||
echo ""
|
||
|
||
python3 src/agent_app.py
|