Je tente de générer automatiquement la documentation pour mon projet Django en utilisant Sphinx avec les extensions autodoc et napoleon.Sphinx échoue lors de la génération de la documentation pour le projet Django
En utilisant sphinx-quickstart
J'ai créé la structure suivante:
MyDjangoProject
├── __init__.py
├── config
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── docs
│ ├── Makefile
│ ├── build
│ └── source
│ ├── _static
│ ├── _templates
│ ├── conf.py
│ └── index.rst
├── myfirstapp
│ ├── __init__.py
│ ├── models.py
│ └── views.py
├── mysecondapp
│ ├── __init__.py
│ ├── models.py
│ └── views.py
...
J'ai personnalisé docs/source/conf.py
pour refléter la structure de mon projet.
import os
import sys
proj_folder = os.path.realpath(
os.path.join(os.path.dirname(__file__), '../..'))
sys.path.append(proj_folder)
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings')
import django
django.setup()
extensions = ['sphinx.ext.autodoc', 'sphinx.ext.intersphinx', 'sphinx.ext.napoleon', 'sphinx.ext.viewcode']
# The rest of the default configuration...
Puis je vais à la racine de mon projet et exécutez sphinx-apidoc -f -o docs/source .
. Cela ajoute un fichier .rst
pour chaque module à docs/source
.
Enfin, je vais à MyDjangoProject
et exécuter make html
. Cela échoue avec une erreur pour chaque module dire
Traceback (most recent call last):
File "/Users/Oskar/git/MyDjangoProject/venv/lib/python2.7/site-packages/sphinx/ext/autodoc.py", line 551, in import_object
__import__(self.modname)
ImportError: No module named MyDjangoProject.myfirstapp
Qu'est-ce que je fais mal?