Ich versuche, ein Paket in Python zu dokumentieren. Im Moment habe ich die folgende Verzeichnisstruktur:Wie dokumentiere ich Python-Pakete mit Sphinx
.
└── project
├── _build
│ ├── doctrees
│ └── html
│ ├── _sources
│ └── _static
├── conf.py
├── index.rst
├── __init__.py
├── make.bat
├── Makefile
├── mod1
│ ├── foo.py
│ └── __init__.py
├── mod2
│ ├── bar.py
│ └── __init__.py
├── _static
└── _templates
Dieser Baum ist das Ergebnis des Abschuss von sphinx-quickstart
. In conf.py
habe ich sys.path.insert(0, os.path.abspath('.'))
unkommentiert und ich habe extensions = ['sphinx.ext.autodoc']
.
Mein index.rst
ist:
.. FooBar documentation master file, created by
sphinx-quickstart on Thu Aug 28 14:22:57 2014.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Welcome to FooBar's documentation!
==================================
Contents:
.. toctree::
:maxdepth: 2
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
In allen __init__.py
‚s habe ich eine docstring und gleiche gilt für die Module foo.py
und bar.py
. Wenn ich make html
in dem Projekt ausführe, sehe ich jedoch keinen der Docstings. Hier
Sie haben eine einzige index.rst-Datei der obersten Ebene, aber sonst nichts. Das ist nicht genug. Sie müssen [sphinx-apidoc] (http://sphinx-doc.org/man/sphinx-apidoc.html) ausführen, um die benötigten ersten Quellen zu erzeugen (oder sie "von Hand" zu erstellen). – mzjn
@mzjn Können Sie es ausarbeiten? In welchem Verzeichnis sollte ich 'sphinx-apidoc' aufrufen? Sieht "Sphinx" nicht automatisch in den Quellen nach? – Dror
Sphinx benötigt .rst-Dateien mit Anweisungen wie 'automodule' oder' autoclass', um API-Dokumentation zu generieren. Es extrahiert nicht aus den Quellen ohne das. Vielleicht hast du erwartet, dass Sphinx wie Epydoc oder Doxygen funktioniert, aber das tut es nicht. Siehe auch diese Antworten: http://stackoverflow.com/a/2441159/407651, http://stackoverflow.com/a/6109098/407651. – mzjn