分享

pyinstaller打包报错: RecursionError: maximum recursion depth exceeded

 闲读古书 2020-06-27

今天给以前写的python脚本用pyinstaller打包的时候,居然报错了:

  1. ...
  2. File "d:\programdata\anaconda3\lib\ast.py", line 253, in visit
  3. return visitor(node)
  4. File "d:\programdata\anaconda3\lib\ast.py", line 261, in generic_visit
  5. self.visit(item)
  6. File "d:\programdata\anaconda3\lib\ast.py", line 253, in visit
  7. return visitor(node)
  8. File "d:\programdata\anaconda3\lib\ast.py", line 263, in generic_visit
  9. self.visit(value)
  10. File "d:\programdata\anaconda3\lib\ast.py", line 253, in visit
  11. return visitor(node)
  12. RecursionError: maximum recursion depth exceeded

看上去似乎是某个库自己递归遍历玩的太嗨了,超过了python的栈高度限制

在此总结下解决步骤:

1)pyinstaller -F xxx.py 

这一步肯定会报上述错误导致失败,但是会产生一个xxx.spec文件

2)在xxx.spec文件中增加两行(添加在原文件第二行):

  1. import sys
  2. sys.setrecursionlimit(5000)

3)pyinstaller xxx.spec

打包成功。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多