关于Python打包,经过我的实际测量
如果用pyinstaller打包
打包成多文件,程序载入时间大概470毫秒左右
打包成单文件,因为有个自解压的过程,相比多文件不需要自解压,要稍微慢一些,实际载入时间大概760毫秒左右。
如果用nuitka打包
打包成多文件,程序载入时间大概140毫秒左右。
打包成单文件,程序载入时间大概380毫秒左右。
当然你的电脑硬件配置不一样,实际测试目标拍摄程序不一样,可能会有一些误差,以上测试结果仅供参考。
总的来说用nuitka打包确实相比pyinstaller有更多优势。
相比pyinstaller,nuitka能更好的保护你的程序:用pyinstaller打包很容易被反编译,但是用nuitka想对它进行反编译可能就比较困难
缺点嘛,就是打包过程非常慢,甚至比rust编译打包都要慢,rust对同一个库只需要打包一遍就够,第二次打包可以用到缓存直接跳过
但是nuitka可能就每次打包,每次都很慢
还有一个不得不提的问题,经过我实测,用nuitka打包出来的文件会有一些奇怪的bug,不过幸运的是不影响程序运行,它是在运行结束后才报的错,
但是如果我用pyinstaller打包就没有报这个错,所以我觉得这个锅还是得nuitka来背,
AttributeError: 'NoneType' object has no attribute 'curl_easy_cleanup'
当然你的程序没有用到我测试用的软件包可能就不会遇到这个错
对了,关于用nuitka打包再补充一点,如果你的电脑安装了微信开发者工具,可能就不能顺利打包,打包前需要修改一些设置,否者可能会有冲突