V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
wh555s
V2EX  ›  Python

Flask 开发中的数据库递归溢出问题

  •  
  •   wh555s · 2015-09-17 00:48:08 +08:00 · 3017 次点击
    这是一个创建于 3387 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,在进行 Flask 开发的时,连接 SQlAlchemy 。进入 shell 准备导入 models 的时候,
    出现 RuntimeError: maximum recursion depth exceeded 错误。
    googol 之后不少 StackOverFlow 的解决方案是增加一段声明:
    import sys
    sys.setrecursionlimit (****),加入之后没有结局问题,而且不知道怎样探查括号中的值究竟是什么?
    请问有开发经验的 V 友来解答我的问题吗?

    4 条回复    2015-10-13 16:53:32 +08:00
    janxin
        1
    janxin  
       2015-09-17 03:47:03 +08:00 via Android
    lz 你没提供代码,所以没法分析。

    我想设置的原因你应该也知道,应该是有无穷递归或者递归层数偏大的问题,比如你可以设置到 100000 或者更大…不过看样子太像后面这种情况
    tsingyi
        2
    tsingyi  
       2015-09-17 09:12:10 +08:00
    一个数据库操作导致递归超过限制,盲目的加大递归允许什么怎么看也是个不负责任的,而且如果是无限递归根本解决不了问题的办法啊, lz 你仔细检查下自己的代码吧。
    wh555s
        3
    wh555s  
    OP
       2015-09-17 11:36:46 +08:00
    @janxin
    @tsingyi
    谢谢两位的建议,我发现问题也许和我的 python 版本的管理有关,因为后来在 PyCharm 的内置 Terminal 进行这些操作是可行的……但是在外部用 Terminal 就出现了这些问题……
    cdxem713
        4
    cdxem713  
       2015-10-13 16:53:32 +08:00
    之前在别的语言中也遇到这种 debug 时没问题,生产环境下报递归错误的。
    最好还是检查你的代码,看看有没有哪写的递归有问题,能改循环的还是改成循环比较好
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4987 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 01:13 · PVG 09:13 · LAX 17:13 · JFK 20:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.