Я пытаюсь использовать Sphinx в первый раз для документирования своего проекта на python, но застрял, потому что некоторые модули, которые должны быть autodoc'ed, отсутствуют в выводе html.И вот как выглядит моя структура каталогов:
├── project1
│ └── lib
│ ├── a.py
│ └── b.py
├── project2
│ └── lib
│ ├── c.py
│ └── d.py
└── docs
├── Makefile
├── build
│ ├── doctrees
│ └── html
└── source
├── conf.py
└── index.rst
в a.py
b.py
c.py
и d.py
определены несколько классов.Чтобы sphinx работал, я специально добавил следующие строки в conf.py
:
sys.path.insert(0, os.path.abspath('../../project1/lib'))
sys.path.insert(0, os.path.abspath('../../project2/lib'))
и index.rst
выглядит следующим образом
Welcome to project1&2's documentation!
=================================
.. toctree::
:maxdepth: 2
:caption: Contents:
project1
==========
lib-a
==============
.. automodule:: a
:members:
lib-b
==============
.. automodule:: b
:members:
project2
==========
lib-c
==============
.. automodule:: c
:members:
lib-d
==============
.. automodule:: d
:members:
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
В выводе html я вижу толькодокументация от a.py
и d.py
.Все классовые документы в b.py
и c.py
отсутствуют.Где я сделал не так?Или это ошибка?Очень признателен за помощь.
[РЕДАКТИРОВАТЬ], когда я проверил Indices and tables
внизу домашней страницы html, ссылка на модуль для b
и c
есть, но их документация отсутствует вдомашняя страница.
[РЕДАКТИРОВАТЬ] Извините, плохо, что я не поместил строку документации непосредственно под именем class
, вместо этого я поставил ее под __init__
.Каким-то образом Сфинкс считает, что весь класс не задокументирован в этом случае.После перемещения строки документа класса под определение class
все члены строки документа автоматически добавляются.