以前写过一篇博文,http://blog.csdn.net/zj910092147/article/details/38869603
这是用python2.x
最近一直用python3.x,但是遇到了一些问题:
开始用的是python3.6 发现一系列问题,
比如
1、yield 报错;(经过网上介绍,截至目前pyinstaller最高支持py3.5,所以我换成了py3.5去试了)
2、IndexError: tuple index out of range报错等(这个可以用开发版本的pyinstaller 里面的进行替换就可以解决)
3、遇到Failed to execute script 错误,我错误的认为又是版本导致的,所以从python3.5 换成了python3.4(甚至我用python2.7去测试了),最后还是出现问题,一直苦恼着如何解决这个问题,最后在网上看到可以用调试状态进行调试
解决:
1、先运行pyinstaller -d xxx.py
2、在生成的dist 文件中找到对应的xxx,并打开进去,不要直接运行生成的xxx.exe文件,否则调试报错信息会看不到(其实后面大部分时间浪费到这上面了,我当时直接运行,就是看不到调试信息,所以一直重新找方法,其实离真相已经非常接近了,可以一步之差,终究让我花费了这么长时间)。
将xxx.exe 路径复制下,在cmd 命令中进入xxx.exe文件夹,并运行xxx.exe 就会出现程序会报错原因,比如缺少什么文件等等(缺什么补什么)
3、调试成功后重新pyinstaller -w -F xxx.py 进行打包。
到此为止,已经完成了程序的打包