python杂识--24--Nuitak打包exe

./SUSA-SRA

--statistics.py

--ui.py

--icon.ico

先不加任何额外参数直接打包:

python -m nuitka --standalone --enable-plugin=pyside6 --windows-disable-console --windows-icon-from-ico=icon.ico --include-data-files=config.ini=config.ini --output-filename=SUSA-SRA.exe --output-dir=build ui.py

打包完运行 exe,看出什么错再补:

报错 补救参数

ModuleNotFoundError: No module named 'pandas' --include-package=pandas

ModuleNotFoundError: No module named 'openpyxl' --include-package=openpyxl

Qt 插件缺失(图片不显示等) --enable-plugin=pyside6 已覆盖,一般不会出现

某库的数据文件找不到 --include-package-data=包名

Nuitka 对第三方库的处理:

大多数情况不需要手动指定。 Nuitka 会自动分析 ui.py 和 statistics.py 的 import 语句,递归发现所有依赖并打包。

什么情况下需要手动加

情况 原因 解决方式

动态导入(importlib.import_module) Nuitka 静态分析看不到 --include-package=包名

运行时按字符串加载(插件机制) 同上 --include-package=包名

C 扩展库有额外数据文件 Nuitka 可能漏掉 --include-package-data=包名

纯解释型库(无 .pyd/.so) 有时检测不到 --include-package=包名

补全后的命令示例(假设 statistics.py 用了 pandas + openpyxl):

python -m nuitka --standalone --enable-plugin=pyside6 --windows-disable-console --windows-icon-from-ico=icon.ico --include-data-files=config.ini=config.ini --include-package=pandas --include-package=openpyxl --output-filename=SUSA-SRA.exe --output-dir=build ui.py

打包后直接把整个 ui.dist 文件夹分发即可:

ui.dist/

├── SUSA-SRA.exe

├── config.ini ← 用户直接编辑这个

└── ...

standalone(文件夹) onefile(单文件)

config.ini 位置 exe 同级,固定路径 临时目录,每次变

用户可编辑 直接改 改不了(临时目录)

分发方式 发整个文件夹 发一个 exe

启动速度 快(无需解包) 略慢(每次解包)

相关推荐
把我格子衫拿来1 小时前
RANSAC 粗配准:离群点很多时,怎样为 ICP 找到可信初值?
python·计算机视觉·三维重建·ransac·点云配准
yuniko-n1 小时前
【JUC】读写锁
java·开发语言
niucloud-admin1 小时前
NIUCLOUD LITE AI开发文档--基础开发规范
开发语言·php
Web3&Basketball1 小时前
决策模型vs GPT-5实测:便宜400倍
人工智能·python·gpt·大模型·ai落地·推理优化·决策模型
ljt27249606611 小时前
Python笔记(四)--模式匹配与正则
笔记·python
小羊没烦恼!1 小时前
T-SQL查询高级—SQL Server索引中的碎片和填充因子
开发语言·前端·javascript·数据库·后端·python·web安全
the局外人1 小时前
学会 SQLAlchemy 搭建 Python 与 MySQL 之间的数据访问桥梁 🚀
后端·python·sql
纪念 2291 小时前
C++ vector(一)
开发语言·c++
zh路西法1 小时前
【生成式模型入门】(四):Flow Matching——从速度场学习到生成路径
python·深度学习·神经网络·生成式模型·diffusionpolicy·flowmatching