Ответ 1
Краткая версия
- run
sphinx-apidoc -o . mymodule
- раскомментировать и изменить
conf.py
. В этом примереsys.path.insert(0, os.path.abspath('mymodule'))
- повторный запуск
make html
Длинный ответ
Я могу воспроизвести проблему с помощью этого модуля:
$cat mymodule/mymodule.py
def fn1():
'''First function'''
pass
def fn2():
'''Second function'''
pass
Запуск sphinx-quickstart
создает следующее дерево:
$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.
со значением по умолчанию index.rst
:
Welcome to sphinx example documentation!
==========================================
Contents:
.. toctree::
:maxdepth: 2
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
Запуск make html
в этот момент не дает выхода в _build/html/py-modindex.html
. Это связано с тем, что sphinx
нужны файлы .rst, описывающие каждый модуль. К счастью, легко произвести с помощью sphinx-apidoc -o . mymodule
.
Это дает два новых файла, из которых только mymodule.rst
необходим для исправления проблемы modindex в вопросе.
$head *mod*rst
==> modules.rst <==
mymodule
========
.. toctree::
:maxdepth: 4
mymodule
==> mymodule.rst <==
mymodule module
===============
.. automodule:: mymodule
:members:
:undoc-members:
:show-inheritance:
Запуск make html
на этом этапе все равно не будет работать. Но раскомментирование и изменение строки, начинающейся с sys.path.insert
в conf.py
, фиксирует вещи.
Моя: sys.path.insert(0, os.path.abspath('mymodule'))
PS: чтобы избежать дополнительного предупреждения, добавьте modules
в тег Contents:
в файле index.rst
.