Krótka wersja
- prowadzony
sphinx-apidoc -o . mymodule
- Odkomentuj i modyfikować
conf.py
. W tym przykładzie, sys.path.insert(0, os.path.abspath('mymodule'))
- re-run
make html
Długa odpowiedź
mogę odtworzyć problem z tym modułem próbki:
$cat mymodule/mymodule.py
def fn1():
'''First function'''
pass
def fn2():
'''Second function'''
pass
Running sphinx-quickstart
daje następujące drzewo:
$tree
.
├── Makefile
├── _build
├── _static
├── _templates
├── conf.py
├── index.rst
├── mymodule
└── mymodule.py
$cat index.rst
.. sphinx example documentation master file, created by
sphinx-quickstart on Mon Mar 30 15:28:37 2015.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
z domyślnie index.rst
:
Welcome to sphinx example's documentation!
==========================================
Contents:
.. toctree::
:maxdepth: 2
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
Running make html
w tym momencie nie wytwarza moc w _build/html/py-modindex.html
. Jest tak, ponieważ sphinx
potrzebuje plików .rst opisujących każdy moduł. Na szczęście jest to łatwe do wyprodukowania przy użyciu sphinx-apidoc -o . mymodule
. To daje dwa nowe pliki, z których tylko mymodule.rst
jest konieczne, aby naprawić problem modindex w pytaniu.
$head *mod*rst
==> modules.rst <==
mymodule
========
.. toctree::
:maxdepth: 4
mymodule
==> mymodule.rst <==
mymodule module
===============
.. automodule:: mymodule
:members:
:undoc-members:
:show-inheritance:
Uruchomienie make html
w tym momencie nadal nie będzie działać. Ale odkomentowanie i zmiana linii zaczynającej się od sys.path.insert
w conf.py
rozwiązuje pewne problemy.
Kopalnia jest: sys.path.insert(0, os.path.abspath('mymodule'))
PS: aby uniknąć dodatkowego ostrzeżenia dodać modules
do Contents:
toctree w pliku index.rst
.
Czy masz "*: ref:' modindex' "w pliku index.rst? Proszę podać zawartość pliku index.rst. – alecxe
Czy używasz autodoc, czy też dodajesz moduły do modindexu ręcznie? Jeśli używasz autodoc, musisz [uwzględnić ''sphinx.ext.autodoc'' na liście rozszerzeń w' conf.py'] (http://sphinx-doc.org/tutorial.html#autodoc). Jeśli ręczne, użyj [..py: module: 'dyrektywa dla każdego modułu, który ma być wymieniony w indeksie] (http://sphinx-doc.org/domains.html#directive-py:module). Sprawdź kompilację pod kątem błędów dotyczących: ról i dyrektyw, ponieważ modindex nie będzie budowany, jeśli wystąpią błędy. Na początku miałem ten sam problem, ale sprawdzenie błędów spowodowało naprawę. –
Mam taki sam problem jak Karin, gdzie ustawienie autodoc podążało za punktami kontrolnymi od Marka. Jednak nadal nie jest generowany plik monindex.html. Czy brakowało mi jakiegoś kroku? –