我正在尝试使用带有狮身人面像和自动医生和拿破仑扩展的拿破仑为Django项目自动生成文档。
使用sphinx-quickstart,我创建了以下结构:
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
...我定制了docs/source/conf.py以反映我的项目结构。
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...然后我转到我的项目的根目录并运行sphinx-apidoc -f -o docs/source .。这会将每个模块的.rst文件添加到docs/source中。
最后,我去了MyDjangoProject并运行make html。这会失败,每个模块都会出现错误,例如
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我做错了什么?
发布于 2017-01-25 14:21:18
由于您已经将MyDjangoProject添加到python路径中,所以应该将myfirstapp导入为myfirstapp而不是MyDjangoProject.myfirstapp。
https://stackoverflow.com/questions/41853197
复制相似问题