pyinstaller打包报错: RecursionError: maximum recursion depth exceeded
今天给以前写的python脚本用pyinstaller打包的时候,居然报错了:
...
File "d:\programdata\anaconda3\lib\ast.py", line 253, in visit
return visitor(node)
File "d:\programdata\anaconda3\lib\ast.py", line 261, in generic_visit
self.visit(item)
File "d:\programdata\anaconda3\lib\ast.py", line 253, in visit
return visitor(node)
File "d:\programdata\anaconda3\lib\ast.py", line 263, in generic_visit
self.visit(value)
File "d:\programdata\anaconda3\lib\ast.py", line 253, in visit
return visitor(node)
RecursionError: maximum recursion depth exceeded
看上去似乎是某个库自己递归遍历玩的太嗨了,超过了python的栈高度限制
搜索了一番,很快找到了解决办法: https://stackoverflow.com/questions/38977929/pyinstaller-creating-exe-runtimeerror-maximum-recursion-depth-exceeded-while-ca
在此总结下解决步骤:
1)pyinstaller -F xxx.py
这一步肯定会报上述错误导致失败,但是会产生一个xxx.spec文件
2)在xxx.spec文件中增加两行(添加在原文件第二行):
import sys
sys.setrecursionlimit(5000)
3)pyinstaller xxx.spec
打包成功。
用pyinstaller打包python程序,解决打包时的错误:Cannot find existing PyQt5 plugin directories
在打包时会出现问题Cannot find existing PyQt5 plugin directories ,具体截图如下
解决方法就是用everything搜索PyQt5,找到 /Library/plugins路径下的PyQt5文件夹,将里面的dll动态库pyqt5qmlplugin.dll复制出来
按照错误提示的路径,一个个的新建文件夹,形成目录C:\qt5b\qt_1524647842210_h_env\Library\plugins,将刚才复制出来的dll动态库拷贝进去即可
原文:https://blog.csdn.net/lixiaoyu101/article/details/84620336
原文:https://blog.csdn.net/lucytheslayer/article/details/81030840