今天给以前写的python脚本用pyinstaller打包的时候,居然报错了: File "d:\programdata\anaconda3\lib\ast.py", line 253, in visit File "d:\programdata\anaconda3\lib\ast.py", line 261, in generic_visit File "d:\programdata\anaconda3\lib\ast.py", line 253, in visit File "d:\programdata\anaconda3\lib\ast.py", line 263, in generic_visit File "d:\programdata\anaconda3\lib\ast.py", line 253, in visit RecursionError: maximum recursion depth exceeded
看上去似乎是某个库自己递归遍历玩的太嗨了,超过了python的栈高度限制
在此总结下解决步骤: 1)pyinstaller -F xxx.py 这一步肯定会报上述错误导致失败,但是会产生一个xxx.spec文件 2)在xxx.spec文件中增加两行(添加在原文件第二行): sys.setrecursionlimit(5000)
3)pyinstaller xxx.spec 打包成功。
|