功能: 添加Linux上传工具打包脚本

- 新增upload-tool/build.sh支持Linux环境打包
- 支持自动检测操作系统并打包对应版本
- 为部署脚本集成自动打包功能做准备
This commit is contained in:
WanWanYun
2025-11-12 00:37:28 +08:00
parent 2dc6323554
commit cb05fa9516

97
upload-tool/build.sh Normal file
View File

@@ -0,0 +1,97 @@
#!/bin/bash
################################################################################
# 玩玩云上传工具打包脚本 (Linux版本)
################################################################################
set -e
echo "========================================"
echo "玩玩云上传工具打包脚本"
echo "========================================"
echo ""
# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m'
# 检查Python是否安装
if ! command -v python3 &> /dev/null; then
echo -e "${RED}[错误] 未检测到Python 3请先安装Python 3.7+${NC}"
exit 1
fi
echo -e "${GREEN}Python版本:${NC} $(python3 --version)"
echo ""
# 进入上传工具目录
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$SCRIPT_DIR"
echo "[1/4] 安装依赖包..."
pip3 install -r requirements.txt --quiet || {
echo -e "${RED}[错误] 依赖安装失败${NC}"
exit 1
}
echo -e "${GREEN}✓ 依赖安装完成${NC}"
echo ""
echo "[2/4] 安装PyInstaller..."
pip3 install pyinstaller --quiet || {
echo -e "${RED}[错误] PyInstaller安装失败${NC}"
exit 1
}
echo -e "${GREEN}✓ PyInstaller安装完成${NC}"
echo ""
echo "[3/4] 打包程序..."
# 检测操作系统
OS_TYPE=$(uname -s)
if [[ "$OS_TYPE" == "Linux" ]]; then
echo -e "${YELLOW}注意: 在Linux系统上打包将生成Linux可执行文件${NC}"
echo -e "${YELLOW}如需Windows exe文件请在Windows系统上运行 build.bat${NC}"
echo ""
# 打包为Linux可执行文件
pyinstaller --onefile --name="wanwanyun-upload-tool" upload_tool.py || {
echo -e "${RED}[错误] 打包失败${NC}"
exit 1
}
# 重命名并添加执行权限
mv dist/wanwanyun-upload-tool "dist/玩玩云上传工具" 2>/dev/null || true
chmod +x "dist/玩玩云上传工具" 2>/dev/null || true
elif [[ "$OS_TYPE" == MINGW* ]] || [[ "$OS_TYPE" == MSYS* ]] || [[ "$OS_TYPE" == CYGWIN* ]]; then
echo "检测到Windows环境打包为Windows exe..."
pyinstaller --onefile --windowed --name="玩玩云上传工具" --icon=NONE upload_tool.py || {
echo -e "${RED}[错误] 打包失败${NC}"
exit 1
}
else
echo -e "${YELLOW}未识别的操作系统: $OS_TYPE${NC}"
echo "尝试打包..."
pyinstaller --onefile --name="wanwanyun-upload-tool" upload_tool.py || {
echo -e "${RED}[错误] 打包失败${NC}"
exit 1
}
fi
echo -e "${GREEN}✓ 打包完成${NC}"
echo ""
echo "[4/4] 清理临时文件..."
rm -rf build
rm -f *.spec
echo -e "${GREEN}✓ 清理完成${NC}"
echo ""
echo "========================================"
echo -e "${GREEN}打包完成!${NC}"
echo "输出目录: dist/"
ls -lh dist/ | tail -n +2 | awk '{print " - " $9 " (" $5 ")"}'
echo "========================================"