строки документов обычно не применяются к свойствам класса, но расширение Autodoc для Sphinx может, если вы поместите его после поля.Вы также можете использовать этот специальный синтаксис перед полем:
#: Documentation for my_field. You can
#: use one or more lines as well.
my_field = "something"
Другие вещи, которые нужно проверить, это то, что у вас есть расширение autodoc, указанное в файле conf.py
.Ищите extensions = ["sphinx.ext.autodoc"]
.(Список может содержать более одного расширения.)
[edit:] У меня ранее был комментарий к документации в неправильном месте.В отличие от строки документации, комментарии #:
должны идти перед полем, которое вы комментируете.
[править:] Поскольку вышеизложенное не является проблемой, здесь есть еще одна возможность.Модуль или пакет, который вы используете после .. automodule::
, должен быть доступен для вашей документации.Это означает, что вам нужно убедиться, что вы добавили его местоположение в путь Python.Мой проект настроен так:
my_project/
package/
__init__.py
...
doc/
build/
...
source/
conf.py
...
В этом случае мне нужно было добавить /my_package
к пути Python, чтобы я мог получить доступ к package
.Для этого я убедился, что это было в верхней части моего conf.py
:
import sys, os # I believe conf.py already imports sys,
import os.path # os, and os.path. But just in case, I
# list it here.
sys.path.insert(0, os.path.abspath(os.path.join('..','..')))
Это эффективно добавляет ./../..
к пути Python, который из conf.py в моем примере является my_project
каталог.(Я также определяю его как абсолютный путь, чтобы было меньше возможностей для сюрпризов.) Очевидно, вам придется изменить это для вашего конкретного случая.
Надеюсь, это поможет вам.