Files
cutThenThink/build.sh

72 lines
1.5 KiB
Bash
Raw Normal View History

#!/bin/bash
# CutThenThink 简化打包脚本
set -e
echo "==================================="
echo "CutThenThink 打包脚本"
echo "==================================="
# 使用系统Python和pip
PYTHON="python3"
PIP="python3 -m pip"
echo ""
echo "1/4. 安装打包工具..."
$PIP install --user pyinstaller 2>/dev/null || echo " PyInstaller可能已安装"
echo ""
echo "2/4. 安装项目依赖..."
$PIP install --user -r requirements.txt 2>/dev/null || echo " 依赖可能已安装"
echo ""
echo "3/4. 创建应用入口(如果不存在)..."
if [ ! -f "src/main.py" ]; then
cat > src/main.py << 'PYEOF'
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
CutThenThink 应用入口
"""
import sys
import os
# 添加src目录到路径
current_dir = os.path.dirname(os.path.abspath(__file__))
sys.path.insert(0, current_dir)
from gui.main_window import main
if __name__ == "__main__":
main()
PYEOF
fi
echo ""
echo "4/4. 开始打包..."
$PYTHON -m PyInstaller \
--name "CutThenThink" \
--windowed \
--onefile \
--add-data "src:src" \
--hidden-import=PyQt6.QtCore \
--hidden-import=PyQt6.QtGui \
--hidden-import=PyQt6.QtWidgets \
--hidden-import=sqlalchemy \
src/main.py
echo ""
echo "==================================="
echo "打包完成!"
echo "可执行文件: dist/CutThenThink"
echo "==================================="
# 测试运行提示
echo ""
read -p "是否测试运行?(y/n) " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
echo "启动测试..."
./dist/CutThenThink
fi