feat: 库存管理系统 MaterialWMS 初始版本
- Flask + SQLAlchemy 物料/入库/出库/BOM/生产订单全模块管理 - PyInstaller 打包为单文件 EXE (双击运行, 自动建库) - 物料维度: 入库总数量 / 消耗总数量 / 逐次入库流水(含时间) - BOM 详情展示组成物料的规格型号与单套用量 - 支持 Altium / 嘉立创 BOM 批量导入(文本与 Excel 双通道) - 内置端到端验证脚本(tools/_exe_util.py 等, 清理进程树防残留)
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
"""打包单文件 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"))
|
||||
Reference in New Issue
Block a user