Geliştirme sırasında temel Flask sunucusunu kullanarak uygulamanızı çalıştırdığımda bu hatanın nedenini anlamaya çalışıyorum. Ben bu konuda başlatın:Arabirim Flask sunucu hatası: 'RuntimeError: Python nesnesini çağırırken maksimum yineleme derinliği aşıldı'
from myapp import app
app.run(debug=True, port=5001)
Bütün iyi ve kod devam vb yenilemek, ama sonra bir süre sonra tekrarlama hatası alıyorum ve Ctrl-C'ye sunucu var ve yeniden başlatın edeceğiz. Büyük bir anlaşma değil, her şimdi ve sonra başa çıkmak için biraz can sıkıcı olmak.
İşte nedenini belirlemek için kullanmaya çalıştı tam traceback, ama göze çarpan bir şey göremiyorum (muhtemelen werkzeug Cookie.py nasıl kullandığı ile ilgili bir şey?):
Traceback (most recent call last):
File "/Users/jeff/.virtualenvs/fmll/lib/python2.7/site-packages/flask/app.py", line 1701, in __call__
return self.wsgi_app(environ, start_response)
File "/Users/jeff/.virtualenvs/fmll/lib/python2.7/site-packages/werkzeug/wsgi.py", line 411, in __call__
return self.app(environ, start_response)
(last bit repeated a bunch - trimmed to fit in posting size requirements)
File "/Users/jeff/.virtualenvs/fmll/lib/python2.7/site-packages/flask/app.py", line 1685, in wsgi_app
with self.request_context(environ):
File "/Users/jeff/.virtualenvs/fmll/lib/python2.7/site-packages/flask/ctx.py", line 274, in __enter__
self.push()
File "/Users/jeff/.virtualenvs/fmll/lib/python2.7/site-packages/flask/ctx.py", line 238, in push
self.session = self.app.open_session(self.request)
File "/Users/jeff/.virtualenvs/fmll/lib/python2.7/site-packages/flask/app.py", line 792, in open_session
return self.session_interface.open_session(self, request)
File "/Users/jeff/.virtualenvs/fmll/lib/python2.7/site-packages/flask/sessions.py", line 191, in open_session
secret_key=key)
File "/Users/jeff/.virtualenvs/fmll/lib/python2.7/site-packages/werkzeug/contrib/securecookie.py", line 309, in load_cookie
data = request.cookies.get(key)
File "/Users/jeff/.virtualenvs/fmll/lib/python2.7/site-packages/werkzeug/utils.py", line 77, in __get__
value = self.func(obj)
File "/Users/jeff/.virtualenvs/fmll/lib/python2.7/site-packages/werkzeug/wrappers.py", line 418, in cookies
cls=self.dict_storage_class)
File "/Users/jeff/.virtualenvs/fmll/lib/python2.7/site-packages/werkzeug/http.py", line 741, in parse_cookie
cookie.load(header)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/Cookie.py", line 632, in load
self.__ParseString(rawdata)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/Cookie.py", line 665, in __ParseString
self.__set(K, rval, cval)
File "/Users/jeff/.virtualenvs/fmll/lib/python2.7/site-packages/werkzeug/_internal.py", line 290, in _BaseCookie__set
morsel = self.get(key, _ExtendedMorsel())
File "/Users/jeff/.virtualenvs/fmll/lib/python2.7/site-packages/werkzeug/_internal.py", line 271, in __init__
Morsel.__init__(self)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/Cookie.py", line 438, in __init__
dict.__setitem__(self, K, "")
RuntimeError: maximum recursion depth exceeded while calling a Python object
http://docs.python.org/2/library/sys.html#sys.setrecursionlimit uygulama kodunu gönderin. – elssar
Github'da [burada] (https://github.com/pssdbt/flask-skeleton). Bunu dahil etmeliydim, ancak farklı uygulamalarda (hepsi buna dayanarak değil) şu ana kadar birkaç kez başıma gelmediği için yapılmadı. – jeffff
Bunu da görüyorum. –