Ошибка рекурсии: максимальная глубина рекурсии превышена по сравнению с pylint

#python #django #pylint #astroid

#python #django #pylint #astroid

Вопрос:

Я создал много тестов, и все они отлично работают на CI local и gihub, но при проверке PyLint я получаю эту ошибку RecursionError: maximum recursion depth exceeded in comparison .

Было бы здорово, если бы вы могли мне помочь.

команда, запущенная на сервере:

DJANGO_SETTINGS_MODULE=projectname.settings.test_set pylint --generated-members=viridis --load-plugins pylint_django project/apps/* --errors-only

Ошибка:

   File "/opt/hostedtoolcache/Python/3.8.6/x64/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/opt/hostedtoolcache/Python/3.8.6/x64/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/opt/hostedtoolcache/Python/3.8.6/x64/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/opt/hostedtoolcache/Python/3.8.6/x64/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/opt/hostedtoolcache/Python/3.8.6/x64/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/opt/hostedtoolcache/Python/3.8.6/x64/lib/python3.8/site-packages/astroid/decorators.py", line 89, in wrapped
    if context.push(node):
  File "/opt/hostedtoolcache/Python/3.8.6/x64/lib/python3.8/site-packages/astroid/context.py", line 89, in push
    if (node, name) in self.path:
RecursionError: maximum recursion depth exceeded in comparison
"""
 

Ответ №1:

Эта ошибка была исправлена в этом PR: https://github.com/PyCQA/astroid/pull/733

Либо убедитесь, что вы используете версию, выпущенную после этого исправления, либо попробуйте понизить astroid до версии 2.2.5