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

Schreibe einen Kommentar