Gerando documentação automaticamente para todo o conteúdo do pacote Python
Estou tentando gerar automaticamente a documentação básica para minha base de código usando o Sphinx. No entanto, estou tendo dificuldade em instruir o Sphinx a verificar recursivamente meus arquivos.
Eu tenho uma base de código Python com uma estrutura de pastas como:
<workspace>
src
mypackage
__init__.py
subpackageA
__init__.py
submoduleA1
submoduleA2
subpackageB
__init__.py
submoduleB1
submoduleB2
Corri sphinx-quickstart em<workspace>
, agora minha estrutura se parece com:
<workspace>
src
mypackage
__init__.py
subpackageA
__init__.py
submoduleA1
submoduleA2
subpackageB
__init__.py
submoduleB1
submoduleB2
index.rst
_build
_static
_templates
Eu li o tutorial de início rápidohttp://sphinx.pocoo.org/tutorial.html, e embora eu ainda esteja tentando entender os documentos, o modo como ele está redigido me preocupa que o Sphinx assuma que eu vou criar manualmente arquivos de documentação para cada módulo / classe / função na minha base de código.
No entanto, notei a instrução "automodule" e ativei o autodoc durante o início rápido, portanto, espero que a maior parte da documentação possa ser gerada automaticamente. Modifiquei meu conf.py para adicionar minha pasta src ao sys.path e depois modifiquei meu index.rst para usar o automodule. Então agora meu index.rst se parece com:
Contents:
.. toctree::
:maxdepth: 2
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
.. automodule:: alphabuyer
:members:
Eu tenho dezenas de classes e funções definidas nos subpacotes. No entanto, quando eu corro:
sphinx-build -b html . ./_build
relata:
updating environment: 1 added, 0 changed, 0 removed
E isso parece ter falhado ao importar qualquer coisa dentro do meu pacote. A visualização do index.html gerado não mostra nada ao lado de "Conteúdo:". A página Índice mostra apenas "meupacote (módulo)", mas clicar nele mostra que também não possui conteúdo.
Como você direciona o Sphinx para analisar recursivamente um pacote e gerar automaticamente a documentação para cada classe / método / função que ele encontra, sem precisar listar manualmente cada classe?