pyinstaller遇到的一些坑

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遇到的一些坑_第1张图片

再pyinstaller xxx.spec即可(也可以加-F, -w,根据自己需要选择)

 

4. pyinstaller不需要管依赖和资源

pyinstaller -F xxx.py生成的dist中会有一个exe文件,将其移到xxx.py的目录下即可运行。注意-F虽然单文件很简洁,但是运行很慢!

pyinstaller xxx.py生成的dist是一个很大的文件夹,将xxx.py需要的资源都复制一份到该文件夹下,即可直接运行xxx.exe。

你可能感兴趣的:(python基础)