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

打包成功。

————————————————

版权声明:本文为CSDN博主「放开那禽兽冲我来」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/lucytheslayer/article/details/81030840

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容