Mit Sphinx Auto-Dokument eine Python-Klasse, Modul
-
19-09-2019 - |
Frage
Ich habe installiert Sphinx um einige Python-Modulen und Klasse zu dokumentieren auf ich arbeite. Während die Markup-Sprache sieht sehr schön aus, habe ich nicht zu Auto-Dokument eines Python-Code verwaltet werden.
Grundsätzlich habe ich das folgende Python-Modul:
SegLib.py
Und Eine Klasse Seg
darin genannt. Ich möchte die Docstrings der Klasse und Modul innerhalb des erzeugten Sphinx Dokument anzuzeigen, und fügen Sie weitere formatierten Text zu.
Meine index.rst
sieht wie folgt aus:
Contents:
.. toctree::
:maxdepth: 2
chapter1.rst
und chapter1.rst
:
This is a header
================
Some text, *italic text*, **bold text**
* bulleted list. There needs to be a space right after the "*"
* item 2
.. note::
This is a note.
See :class:`Seg`
Aber Seg
ist nur fett gedruckt, und nicht auf eine automatisch generierte Dokumentation der Klasse verknüpft.
Der Versuch:
Siehe: Klasse: Seg
Modul: mod: 'SegLib'
Modul: mod: 'SegLib.py'
hat nicht geholfen, auch. Irgendwelche Ideen oder gute Tutorial Links?
Edit: geändert SegLib Segmente (danke, iElectric!), Und veränderte chapter1.rst an:
Die: mod: segments
Modul
--------------------------
.. automodule:: segments.segments
.. autoclass:: segments.segments.Seg
Dennoch kann nicht Sphinx direkt Dokument Funktionen innerhalb einer Klasse zu erhalten, oder besser -, um automatisch alle Funktionen innerhalb einer Klasse in das Dokument einfügen. Versuche
.. autofunction:: segments.segments.Seg.sid
und bekam:
autodoc can't import/find function 'segments.segments.Seg.sid', it reported error: "No module named Seg"
Alle Ideen, wie die Funktionen und Klassen mit einem kurzen Befehl autodocument?
Udi
Lösung
Fügen Sie an den Anfang der Datei:
.. module:: SegLib
Versuchen Sie es mit : autoclass:. Richtlinie für die Klasse doc
BTW:. Modulnamen sollten LOWER_CASE sein