Files
Inventory-Management-System/build_exe.py
T
star 7d34a481b3 feat: 库存管理系统 MaterialWMS 初始版本
- Flask + SQLAlchemy 物料/入库/出库/BOM/生产订单全模块管理
- PyInstaller 打包为单文件 EXE (双击运行, 自动建库)
- 物料维度: 入库总数量 / 消耗总数量 / 逐次入库流水(含时间)
- BOM 详情展示组成物料的规格型号与单套用量
- 支持 Altium / 嘉立创 BOM 批量导入(文本与 Excel 双通道)
- 内置端到端验证脚本(tools/_exe_util.py 等, 清理进程树防残留)
2026-09-11 15:41:56 +08:00

35 lines
1.1 KiB
Python

"""打包单文件 EXE (PyInstaller --onefile --windowed)
冻结后:
- 模板/静态走 sys._MEIPASS (用 --add-data 打入)
- 库文件 app.db 落在 exe 同目录 (app.py 中 EXE_DIR 处理)
- 启动时自动打开浏览器 (app.py __main__ 中 webbrowser.open)
用法: venv 的 python build_exe.py
"""
import os, sys, platform
from PyInstaller.__main__ import run
HERE = os.path.dirname(os.path.abspath(__file__))
sep = ";" if platform.system() == "Windows" else ":"
args = [
os.path.join(HERE, "app.py"),
"--onefile",
"--windowed",
"--name", "MaterialWMS",
"--distpath", os.path.join(HERE, "dist"),
"--workpath", os.path.join(HERE, "build"),
"--specpath", os.path.join(HERE, "build"),
"--add-data", os.path.join(HERE, "templates") + sep + "templates",
"--add-data", os.path.join(HERE, "static") + sep + "static",
"--hidden-import", "flask",
"--hidden-import", "flask_sqlalchemy",
"--hidden-import", "sqlalchemy",
"--hidden-import", "openpyxl",
"--noconfirm",
]
print("PyInstaller args:", args)
run(args)
print("BUILD DONE ->", os.path.join(HERE, "dist", "MaterialWMS.exe"))