Я пытаюсь автоматически создавать api-документы для большой базы кода Python с помощью Sphinx.
Я пробовал использовать build_modules.py и sphinx-apidoc. С помощью любого из них я могу получить первые документы, успешно созданные в моем выходном каталоге для пакетов и модулей верхнего уровня.
Однако, когда я использую
make html
он дает тысячи ошибок такого типа:
<autosummary>:None: WARNING: toctree contains reference to nonexisting document 'rstDocs/src.Example1.class1.method1'
для каждого отдельного класса и метода в кодовой базе. Поэкспериментировав, я, кажется, обнаружил, что директивы autosummary / autoclass создают toctrees, которые ожидают, что будут первые файлы для каждого класса и метода.
Помимо предупреждений, документация, похоже, работает хорошо, но я хотел бы избавиться от них и думаю, что, возможно, я что-то неправильно сконфигурировал.
Я также пробовал nipype / tools примерно с таким же эффектом.
Я изменил apigen.py и build_modref_templates.py, чтобы создать первые заглушки для каждого из этих «отсутствующих» документов, с соответствующими автоклассами / автофункциями / автоматическими методами. Однако сборка занимает довольно много времени (10 минут) и в конечном итоге дает сбой из-за ошибок памяти на последнем этапе сборки.
Вот пример первого файла модуля, который создает все предупреждения:
src Package
===========
:mod:`src` Package
------------------
.. automodule:: src.__init__
:members:
:undoc-members:
:show-inheritance:
:mod:`Example1` Module
------------------------------------
.. automodule:: src.Example1
:members:
:undoc-members:
:show-inheritance:
:mod:`Example2` Module
------------------
.. automodule:: src.Example2
:members:
:undoc-members:
:show-inheritance:
Спасибо за любой совет о том, как устранить эти предупреждения! Я хотел бы держаться подальше от любого решения, которое включает изменение файлов пакета сайта sphinx.
src
пакету, которую вы разместили выше? - person Kevin Horn   schedule 07.12.2012