Я пытаюсь автоматически сгенерировать базовую документацию для моей кодовой базы с помощью Sphinx. Однако у меня возникли трудности с указанием Sphinx рекурсивно сканировать мои файлы.
У меня есть кодовая база Python со структурой папок вроде:
src
mypackage
__init__.py
subpackageA
__init__.py
submoduleA1
submoduleA2
subpackageB
__init__.py
submoduleB1
submoduleB2
Я запустил sphinx-quickstart в
, так что теперь моя структура выглядит так:
src
mypackage
__init__.py
subpackageA
__init__.py
submoduleA1
submoduleA2
subpackageB
__init__.py
submoduleB1
submoduleB2
index.rst
_build
_static
_templates
Я прочитал краткое руководство http://sphinx.pocoo.org/tutorial.html , и хотя я все еще пытаюсь понять документацию, как она Формулировка заставляет меня беспокоиться о том, что Sphinx предполагает, что я собираюсь вручную создавать файлы документации для каждого отдельного модуля / класса / функции в моей кодовой базе.
Однако я заметил оператор "automdule" и включил autodoc во время быстрого запуска, поэтому Я' m надеясь, что большая часть документации может быть создана автоматически. Я изменил свой conf.py, чтобы добавить мою папку src в sys.path, а затем изменил свой index.rst, чтобы использовать automdule. Итак, теперь мой index.rst выглядит так:
Contents:
.. toctree::
:maxdepth: 2
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
.. automodule:: alphabuyer
:members:
У меня есть десятки классов и функций, определенных в подпакетах. Тем не менее, когда я запускаю:
sphinx-build -b html . ./_build
, он сообщает:
updating environment: 1 added, 0 changed, 0 removed
И это, похоже, не смогло импортировать что-либо внутри моего пакета. При просмотре сгенерированного index.html рядом с «Contents:» ничего не отображается. На странице указателя отображается только «mypackage (модуль)», но щелчок по нему показывает, что он также не имеет содержимого.
Как вы указываете Sphinx рекурсивно анализировать пакет и автоматически генерировать документацию для каждого встречающегося класса / метода / функции, без нужно вручную перечислять каждый класс?