Dokumentation automatisch für alle Python-Paketinhalte generieren
Ich versuche zum automatischen erzeugen von basic-Dokumentation für meine Codebasis mit Sphinx. Allerdings werde ich Schwierigkeiten haben, anweist Sphinx rekursiv Scannen meine Dateien.
Habe ich ein Python-Codebasis mit einer Ordner-Struktur wie:
<workspace>
src
mypackage
__init__.py
subpackageA
__init__.py
submoduleA1
submoduleA2
subpackageB
__init__.py
submoduleB1
submoduleB2
Ich lief sphinx-quickstart in <workspace>
so nun meine Struktur sieht wie folgt aus:
<workspace>
src
mypackage
__init__.py
subpackageA
__init__.py
submoduleA1
submoduleA2
subpackageB
__init__.py
submoduleB1
submoduleB2
index.rst
_build
_static
_templates
Gelesen habe ich das quickstart-tutorial http://sphinx.pocoo.org/tutorial.htmlund obwohl ich bin immer noch versuchen zu verstehen, die docs, die Art, wie es formuliert ist, macht mich besorgt, dass Sphinx übernimmt werde ich manuell erstellen Dokumentationen-Dateien für jedes einzelne Modul/Klasse/Funktion in meinem codebase.
Habe ich jedoch bemerken, dass das "automodule" - Anweisung, und ich konnte autodoc während quickstart, ich hoffe also, dass der Großteil der Dokumentation kann automatisch generiert werden. Ich veränderte meine conf.py um meinen src-Ordner sys.Pfad und dann meine modifizierten index.Erster automodule. So nun meine index.erste sieht wie folgt aus:
Contents:
.. toctree::
:maxdepth: 2
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
.. automodule:: alphabuyer
:members:
Ich habe Dutzende Klassen und Funktionen definiert, die in der Unterpakete. Doch, wenn ich ausführen:
sphinx-build -b html . ./_build
berichtet Sie:
updating environment: 1 added, 0 changed, 0 removed
Und das scheint fehlgeschlagen zu importieren, alles, was in meinem Paket. Anzeigen der generierten index.html zeigt nichts weiter zu "Inhalt:". Die Index-Seite zeigt nur "MeinPaket (Modul)", aber anklicken zeigt es hat auch keinen Inhalt.
Wie haben Sie direkten Sphinx rekursiv analysieren eines Pakets und werden automatisch generiert Dokumentation für jede Klasse/Methode/Funktion auf die es trifft, ohne dass Sie manuell Liste jeder Klasse selbst?
InformationsquelleAutor der Frage Cerin | 2011-01-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vielleicht apigen.py helfen können: https://github.com/nipy/nipy/tree/master/tools.
Diesem tool beschrieben ist, ganz kurz hier: http://comments.gmane.org/gmane.comp.python.sphinx.devel/2912.
Update: die sphinx-apidoc unterbreitet utility Hinzugefügt wurde, in Sphinx version 1.1.
InformationsquelleAutor der Antwort mzjn
Können Sie versuchen, mit sphinx-apidoc unterbreitet.
Können Sie mischen sphinx-apidoc unterbreitet mit sphinx-quickstart um die ganze doc-Projekt wie folgt:
Dieser Aufruf erzeugt ein komplettes Projekt mit dem sphinx-quickstart und Schauen Sie rekursiv in (Projekt -) für Python-Module.
Hoffe, das hilft!
InformationsquelleAutor der Antwort Daniel
Hinweis
So, gehen Sie zu Ihrem conf.py und fügen Sie
Nun Ihre index.erste sieht wie folgt aus:
und
make html
InformationsquelleAutor der Antwort macm