./SUSA-SRA–statistics.py–ui.py–icon.ico打包后直接把整个 ui.dist 文件夹分发即可ui.dist/├── SUSA-SRA.exe├── config.ini ← 用户直接编辑这个└── …standalone文件夹 onefile单文件config.ini 位置 exe 同级固定路径 临时目录每次变用户可编辑 直接改 改不了临时目录分发方式 发整个文件夹 发一个 exe启动速度 快无需解包 略慢每次解包最终成功打包命令python -m nuitka --standalone --enable-pluginpyside6 --windows-console-modeforce --windows-icon-from-icoicon.ico --include-data-filesconfig.iniconfig.ini --include-packagepolars --include-packagexlsxwriter --include-packagefastexcel --debug --output-filenameSUSA-SRA.exe --output-dirbuild ui.py打包过程中遇到的问题1 图标图片[1] 刚开始直接用icon.jpg报错[2] 直接改后缀icon.ico还是报错[3] 用在线转ico的网站将将icon.jpg转成.ico正常没有报错2 python代码里不要存在动态导入的库直接将要使用的库写在每个模块前边通过import …/from … import …导入否则打的exe包不能找到相应的动态导入的库会报错3 对于写在每个模块前边的第三方库不用include-package也可以4 对于gui库: pyside6、pyqt 需要使用-enable-plugin参数刚开始没有也报错5 我此处的配置文件config.ini刚开时没有用–include-data-files包含进去也是打包后程序启动失败当有多个其它文件时可能需要–include-data-dir和include-package-data这两个参数具体没有区分此处没有了解6 Nuitka可能跟部分第三方库的某些方法不兼容打的exe包执行时程序崩溃退出。此处代码里刚开始用了polars的pd.write()写数据到本地直接使用python ui.py启动程序执行并点击执行按钮没有报错可用Nuitka打的包启动程序后点击执行按钮崩溃掉了最终发现是Nuitka与polars的pd.write()不兼容最终换了xlsxwriter打的包执行没有问题7 --windows-console-modeforcedisable时启动exe时会有黑框可以从cmd里启动exe此处比如cmd启动SUSA-SRA.exe可以从cmd里看到代码里加的print()日志force时启动exe时不会有黑框。8 standalone 和 onefile中建议使用standalone9 自己写的代码的模块名不要跟python内置的库/模块名冲突否则打包会报错。此处的statistics.py就跟python内置的statistics库冲突打包失败后来将statistics.py换成susar_core.py没有报错