Ошибка сфинкса в Readthedocs: TypeError: объект 'bool' не имеет атрибута '__getitem__'

Сборка документации на Readthedocs завершилась неудачно из-за ошибки Sphinx, которую довольно сложно понять:

Exception occurred:
  File "/home/docs/checkouts/readthedocs.org/user_builds/fluidimage/envs/latest/local/lib/python2.7/site-packages/sphinx/ext/viewcode.py", line 61, in has_tag
  if entry is None or entry[0] != code:
TypeError: 'bool' object has no attribute '__getitem__'

для полного журнала см. https://readthedocs.org/projects/fluidimage/builds/3758665/

Я обнаружил, что такая же проблема возникала и в других проектах (ссылка на поиск Google), но это не помогает мне понять, что происходит.

Что означает эта ошибка? Как это решить?


person paugier    schedule 24.02.2016    source источник
comment
Проверьте 3.4 здесь: docs.python.org/2/reference/datamodel.html. Я думаю, что компилятор интерпретирует запись как логическое значение, поэтому вы не можете получить к ней доступ таким образом   -  person    schedule 24.02.2016
comment
Очевидно, он ожидает, что entry будет либо None, либо последовательностью (список, кортеж, строка и т. Д.), Но это не то, что он получает. Без минимального воспроизводимого примера мы не можем сказать вам, почему.   -  person jonrsharpe    schedule 24.02.2016
comment
Довольно сложно получить MCVE с такого рода проблемами. Я счастлив, что он решен, и надеюсь, что этот вопрос и ответ могут помочь тем, у кого возникла та же проблема, даже если ничего не объясняется.   -  person paugier    schedule 24.02.2016


Ответы (2)


Эта проблема, похоже, связана с этой проблемой со сфинксом. Хотя sphinx обновился, чтобы разрешить autodoc_default_options быть определенным как True, возможно, readthedocs использует старую версию sphinx или по какой-то причине не может принять эти значения. Изменение значений в autodoc_default_options dict на None позволяет продолжить сборку.

Пример :

autodoc_default_options = {
    'members': None, 'undoc-members': None,
    'private-members': None, 'show-inheritance': None
}
person Chintalagiri Shashank    schedule 09.07.2019

Так что практический ответ на мой вопрос может быть

  • ждать
  • совершить модификацию почти ни с чем
  • построить снова ...

и ошибка Sphinx-Readthedocs исчезнет. По крайней мере, так происходит со мной.

person paugier    schedule 24.02.2016
comment
Вы могли бы также удалить этот ответ, так как он бесполезен - person seanysull; 27.05.2019
comment
Вы могли бы также удалить этот комментарий, так как он бесполезен :-) - person paugier; 28.05.2019