最近使用
PyQT5
开发一个桌面应用程序,单独运行没有问题,但是使用打包工具pyinstaller
打包后,却弹出窗口,提示“failed to execute script main”。pyinstaller
的版本为最新,python为V3.7,配合QT版本5.3
问题现象
使用pyinstaller
打包后,运行exe就会提示错误,“failed to execute script main”。但是代码本地调是没有问题的。如图
解决办法
这个问题,我经过百度,也没找到最终的解决办法。最后通过自己的尝试,最终解决问题。现在总结一下遇到这类问题应如何处理,以免日后再次掉坑里。
可根据以下列举项进行排查:
排查1,是不是打包过程中出问题
如果打包过程中,本身就出错了,那即使生成了可执行文件,肯定也不能运用。因此,注意检查一下,打包的log。
如何检查呢?一种是通过查看打包命令的回显,另外也可以在打包生成的文件夹里查看,有个html格式的文件会记录打包过程的log。
打包过程中,常见的错误有:
- ImportError: C extension: No module named *
这类问题,可以增加--hidden-import 选项进行屏蔽。 - 代码目录结构不合理,打包时出错
排查2,代码本身有问题
主要是路径的问题。例如:脚本中需要在当前路径下创