首页 > 编程语言 > 详细

Python maximum recursion depth exceeded while calling a Python object (gevent的SSL无限递归错误)的问题解决

时间:2020-08-28 22:45:04      阅读:152      评论:0      收藏:0      [点我收藏+]

今天给以前写的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的栈高度限制

    搜索了一番,很快找到了解决办法: 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文件中增加两行(添加在原文件第二行):

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

    3)pyinstaller xxx.spec

    打包成功。

Python maximum recursion depth exceeded while calling a Python object (gevent的SSL无限递归错误)的问题解决

原文:https://www.cnblogs.com/shunguo/p/13577879.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!