#!/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