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

2015-09-17 00:48:08 +08:00
 wh555s

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

2993 次点击
所在节点    Python
4 条回复
janxin
2015-09-17 03:47:03 +08:00
lz 你没提供代码,所以没法分析。

我想设置的原因你应该也知道,应该是有无穷递归或者递归层数偏大的问题,比如你可以设置到 100000 或者更大…不过看样子太像后面这种情况
tsingyi
2015-09-17 09:12:10 +08:00
一个数据库操作导致递归超过限制,盲目的加大递归允许什么怎么看也是个不负责任的,而且如果是无限递归根本解决不了问题的办法啊, lz 你仔细检查下自己的代码吧。
wh555s
2015-09-17 11:36:46 +08:00
@janxin
@tsingyi
谢谢两位的建议,我发现问题也许和我的 python 版本的管理有关,因为后来在 PyCharm 的内置 Terminal 进行这些操作是可行的……但是在外部用 Terminal 就出现了这些问题……
cdxem713
2015-10-13 16:53:32 +08:00
之前在别的语言中也遇到这种 debug 时没问题,生产环境下报递归错误的。
最好还是检查你的代码,看看有没有哪写的递归有问题,能改循环的还是改成循环比较好

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/221280

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX