首次代码提交
This commit is contained in:
@@ -0,0 +1,109 @@
|
||||
#!/bin/bash
|
||||
# Linux 日志删除助手 - 打包脚本
|
||||
# 在 UOS 环境中执行此脚本进行打包
|
||||
|
||||
set -e # 遇到错误立即退出
|
||||
|
||||
echo "=========================================="
|
||||
echo " Linux 日志删除助手 - 打包脚本"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
# 颜色定义
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# 检查是否为 root 用户
|
||||
if [ "$EUID" -ne 0 ]; then
|
||||
echo -e "${YELLOW}提示:安装依赖需要 sudo 权限${NC}"
|
||||
SUDO="sudo"
|
||||
else
|
||||
SUDO=""
|
||||
fi
|
||||
|
||||
# 步骤 1: 检查并安装系统依赖
|
||||
echo ""
|
||||
echo "步骤 1/4: 检查并安装系统依赖..."
|
||||
echo "------------------------------------------"
|
||||
|
||||
# 更新包列表
|
||||
$SUDO apt update
|
||||
|
||||
# 安装 Python3 和 pip(如果未安装)
|
||||
if ! command -v python3 &> /dev/null; then
|
||||
echo "安装 Python3..."
|
||||
$SUDO apt install -y python3
|
||||
fi
|
||||
|
||||
if ! command -v pip3 &> /dev/null; then
|
||||
echo "安装 pip3..."
|
||||
$SUDO apt install -y python3-pip
|
||||
fi
|
||||
|
||||
# 安装 PyQt5
|
||||
echo "安装 PyQt5..."
|
||||
$SUDO apt install -y python3-pyqt5
|
||||
|
||||
# 步骤 2: 安装 Python 依赖
|
||||
echo ""
|
||||
echo "步骤 2/4: 安装 Python 依赖..."
|
||||
echo "------------------------------------------"
|
||||
|
||||
# 安装 PyInstaller
|
||||
pip3 install --user pyinstaller
|
||||
|
||||
# 确保 ~/.local/bin 在 PATH 中
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
|
||||
# 步骤 3: 使用 PyInstaller 打包
|
||||
echo ""
|
||||
echo "步骤 3/4: 打包应用程序..."
|
||||
echo "------------------------------------------"
|
||||
|
||||
# 获取脚本所在目录
|
||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
cd "$SCRIPT_DIR"
|
||||
|
||||
# 清理旧的构建文件
|
||||
rm -rf build dist __pycache__ *.spec
|
||||
|
||||
# 使用 PyInstaller 打包
|
||||
pyinstaller \
|
||||
--onefile \
|
||||
--windowed \
|
||||
--name "log-cleaner" \
|
||||
--add-data "gui:gui" \
|
||||
--hidden-import "PyQt5.QtWidgets" \
|
||||
--hidden-import "PyQt5.QtCore" \
|
||||
--hidden-import "PyQt5.QtGui" \
|
||||
--clean \
|
||||
main.py
|
||||
|
||||
# 步骤 4: 完成
|
||||
echo ""
|
||||
echo "步骤 4/4: 打包完成!"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
echo -e "${GREEN}✓ 打包成功!${NC}"
|
||||
echo ""
|
||||
echo "可执行文件位置: dist/log-cleaner"
|
||||
echo ""
|
||||
echo "使用方法:"
|
||||
echo " 1. 将 dist/log-cleaner 复制到 UOS LiveCD 环境"
|
||||
echo " 2. 赋予执行权限: chmod +x log-cleaner"
|
||||
echo " 3. 运行: sudo ./log-cleaner"
|
||||
echo ""
|
||||
echo "注意事项:"
|
||||
echo " - 运行时需要 sudo 权限"
|
||||
echo " - 确保系统已安装 PyQt5 运行时库"
|
||||
echo ""
|
||||
|
||||
# 检查打包结果
|
||||
if [ -f "dist/log-cleaner" ]; then
|
||||
echo -e "${GREEN}✓ 可执行文件大小: $(du -h dist/log-cleaner | cut -f1)${NC}"
|
||||
else
|
||||
echo -e "${RED}✗ 打包失败,请检查错误信息${NC}"
|
||||
exit 1
|
||||
fi
|
||||
Reference in New Issue
Block a user