nuitka对一些py库的支持还并不全面,因此用nuitka打包py脚本经常会出现这样那样的错误,这里介绍一个比较通用的解决办法,能解决大部分库异常的问题。
解决方法:将py脚本用pyinstaller打包一遍,打包完后确认程序正常运行,这个时候将打包目录(../dist/)下所有的文件拷贝到nuitka编译结果目录下(.../×××.dist/),如果存在同名文件则选择跳过。拷贝结束后重新运行nuitka下的exe文件,错误就消失了。
当然以上方法可能将一些不必要的文件拷贝到目标路径下,因为nuitka编译结果可能只是缺了一个或者两个文件,这个时候如果不想拷贝无效文件则可以用Beyond Compare工具对比两个打包结果文件夹的差异,再逐个将pyinstaller下存在而nuitka下不存在的文件拷贝到nuitka中,直到错误消失程序正常运行。