1. linux下打的包无法在windows使用
2. 在windows下打完包后运行黑屏一会后闪退
首先建议在命令行里面运行该exe,这样在闪退后也可以看到错误信息。
我这里的错误信息是torch这个库报错,这就很奇怪了,我直接运行明明是没问题的。
顺着错误信息,我发现了问题所在。我平时使用的是conda的环境,是需要activate的。但是pyinstaller会默认找本体的依赖,所以自然就出了问题。
解决办法:在本体中安装相对应的第三方库即可。
3. pyinstaller xxx.py时出现RecursionError: maximum recursion depth exceeded
这个错误是说无限递归了,暂时不知道为啥会这样。可能是wxpython的锅?
解决办法:先pyinstaller xxx.py,会发现生成了一个xxx.spec配置文件,进入配置文件,在文件首加上一句话限制递归次数。
再pyinstaller xxx.spec即可(也可以加-F, -w,根据自己需要选择)
4. pyinstaller不需要管依赖和资源
pyinstaller -F xxx.py生成的dist中会有一个exe文件,将其移到xxx.py的目录下即可运行。注意-F虽然单文件很简洁,但是运行很慢!
pyinstaller xxx.py生成的dist是一个很大的文件夹,将xxx.py需要的资源都复制一份到该文件夹下,即可直接运行xxx.exe。