Aucune génération de l'index du module "modindex" lors de L'utilisation de Sphinx

j'ai de la difficulté à créer un répertoire de documents (html) en utilisant sphinx-build.

j'ai essayé

sphinx-build -b html source build

ainsi que

make html

mais dans les deux cas seulement la recherche html-files.html, index.html et genindex.html sont générés. Le fichier modindex.html est manquant.

Dans le fichier conf.py j'ai mis

html_domain_indices = True

donc je devrais avoir un modindex.fichier html. Ce que je fais mal? Je ne reçois aucun message d'erreur après avoir construit les fichiers html. Je suis utilisant Sphinx 1.1.3 et Python 2.7 sur Windows XP.

25
demandé sur mzjn 2012-12-12 15:06:49
la source

1 ответов

version courte

  • exécuter sphinx-apidoc -o . mymodule
  • dé-commenter et modifier conf.py. Pour cet exemple, sys.path.insert(0, os.path.abspath('mymodule'))
  • re-run make html

réponse

je peux reproduire le problème avec ce module d'exemple:

$cat mymodule/mymodule.py
def fn1():
    '''First function'''
    pass

def fn2():
    '''Second function'''
    pass

Exécution sphinx-quickstart produit l'arbre suivant:

$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.

par défaut index.rst:

Welcome to sphinx example's documentation!
==========================================

Contents:

.. toctree::
   :maxdepth: 2



Indices and tables
==================

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`

Exécution make html à ce point ne produit pas de sortie en _build/html/py-modindex.html. C'est parce que sphinx besoins .des fichiers rst décrivant chaque module. Heureusement, il est facile de produire en utilisant sphinx-apidoc -o . mymodule. Cela donne deux nouveaux fichiers, dont seulement mymodule.rst est nécessaire pour fixer le modindex question.

$head *mod*rst
==> modules.rst <==
mymodule
========

.. toctree::
   :maxdepth: 4

   mymodule

==> mymodule.rst <==
mymodule module
===============

.. automodule:: mymodule
    :members:
    :undoc-members:
    :show-inheritance:

Exécution make html à ce stade, ne fonctionne toujours pas. Mais décommenter et changer la ligne en commençant par sys.path.insertconf.py répare des choses.

le Mien est: sys.path.insert(0, os.path.abspath('mymodule'))

PS: pour éviter un avertissement supplémentaire, ajouter modulesContents: tocree in the index.rst fichier.

21
répondu jaimedash 2015-03-31 01:55:06
la source

Autres questions sur