sphinxs python-sphinx

python-sphinx - sphinxs - sphinx documentation generator



Sphinx, usando automodule para encontrar submódulos. (2)

Cuando se utiliza el automodule de la esfinge (http://sphinx.pocoo.org/ext/autodoc.html#directive-automodule),

Simplemente escribo en un archivo .rst:

.. automodule:: my_module :members:

Documenta my_module bien, pero no encuentra los módulos internos como my_module.inner_module0 y my_module.inner_module1. ¿Hay algo que deba especificarse en el archivo __init__.py además de la variable __all__?

Además, soy consciente de la esfinge-apidoc. Pero ese comando documenta demasiado (expone todas las funciones / carpetas, incluidas las no documentadas).


Me parece que ahora debería ser posible usar la opción :imported-members: (enlace no directo, usar búsqueda), si __init__.py importa esos submódulos.

Sin embargo, personalmente no puedo hacer este trabajo (todavía).

EDITAR: Posiblemente un error conocido .


Parece que quiere darle a la directiva automodule un nombre de paquete y automodule que lo guarde en el directorio y que documente cada módulo de Python. Eso no es compatible todavía. Deberá especificar el nombre completo del módulo punteado para cada módulo que desee documentar.

Por ejemplo, dada la siguiente estructura de directorios (de la documentación de Python). No puede especificar .. automodule:: sound.formats y hacer que documente todos los módulos en el directorio. Tendrá que especificar un comando automodule para cada módulo: .. automodule:: sound.formats.waveread , .. automodule:: sound.formats.wavewrite , etc.

sound/ Top-level package __init__.py Initialize the sound package formats/ Subpackage for file format conversions __init__.py wavread.py wavwrite.py aiffread.py aiffwrite.py auread.py auwrite.py ... effects/ Subpackage for sound effects __init__.py echo.py surround.py reverse.py ...