92 lines
2.3 KiB
Bash
92 lines
2.3 KiB
Bash
#!/bin/bash
|
||
|
||
#############################################
|
||
# Python版本依赖安装脚本
|
||
# 适用于 Debian 12 (WSL)
|
||
#############################################
|
||
|
||
set -euo pipefail
|
||
|
||
echo "========== 成绩监控系统 (Python版本) - 依赖安装 =========="
|
||
echo ""
|
||
|
||
|
||
# 更新软件包列表
|
||
echo "1. 更新软件包列表..."
|
||
sudo apt-get update
|
||
|
||
# 安装Python3和pip
|
||
echo ""
|
||
echo "2. 安装Python3和pip..."
|
||
sudo apt-get install -y python3 python3-pip python3-venv
|
||
|
||
# 创建虚拟环境(可选但推荐)
|
||
echo ""
|
||
echo "3. 创建Python虚拟环境..."
|
||
if [[ ! -d "venv" ]]; then
|
||
python3 -m venv venv
|
||
echo "虚拟环境创建成功"
|
||
else
|
||
echo "虚拟环境已存在,跳过创建"
|
||
fi
|
||
|
||
# 激活虚拟环境并安装依赖
|
||
echo ""
|
||
echo "4. 安装Python依赖包..."
|
||
source venv/bin/activate
|
||
pip install --upgrade pip
|
||
pip install -r requirements.txt
|
||
|
||
echo ""
|
||
echo "5. 重命名配置文件..."
|
||
if [[ -f "config_new.ini" ]] && [[ ! -f "config.ini" ]]; then
|
||
mv config_new.ini config.ini
|
||
echo "配置文件已重命名为 config.ini"
|
||
elif [[ -f "config_new.ini" ]]; then
|
||
echo "config.ini 已存在,保留原配置"
|
||
echo "新配置保存在 config_new.ini,请手动合并"
|
||
fi
|
||
|
||
# 给脚本添加执行权限
|
||
echo ""
|
||
echo "6. 添加执行权限..."
|
||
chmod +x monitor.py
|
||
|
||
# 验证安装
|
||
echo ""
|
||
echo "========== 验证安装 =========="
|
||
echo ""
|
||
|
||
python3 --version
|
||
pip --version
|
||
|
||
echo ""
|
||
echo "已安装的Python包:"
|
||
pip list | grep -E "requests|beautifulsoup4"
|
||
|
||
echo ""
|
||
echo "========== 所有依赖安装成功! =========="
|
||
echo ""
|
||
echo "下一步:"
|
||
echo "1. 确认 config.ini 文件中的配置正确"
|
||
echo "2. 运行监控程序:"
|
||
echo " 方式1(使用虚拟环境 - 推荐):"
|
||
echo " source venv/bin/activate"
|
||
echo " python3 monitor.py"
|
||
echo ""
|
||
echo " 方式2(直接运行):"
|
||
echo " ./monitor.py"
|
||
echo ""
|
||
echo " 方式3(后台运行):"
|
||
echo " nohup python3 monitor.py > /dev/null 2>&1 &"
|
||
echo ""
|
||
echo " 方式4(使用tmux - 推荐):"
|
||
echo " tmux new -s grade_monitor"
|
||
echo " source venv/bin/activate"
|
||
echo " python3 monitor.py"
|
||
echo " # 按 Ctrl+B 然后按 D 离开会话"
|
||
echo ""
|
||
echo "提示:"
|
||
echo "- 163邮箱需要在邮箱设置中开启SMTP服务并获取授权码"
|
||
echo "- 查看日志: tail -f monitor.log"
|