首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Sphinx在为Django项目生成文档时失败

Sphinx在为Django项目生成文档时失败
EN

Stack Overflow用户
提问于 2017-01-25 13:43:15
回答 1查看 385关注 0票数 1

我正在尝试使用带有狮身人面像自动医生拿破仑扩展的拿破仑为Django项目自动生成文档。

使用sphinx-quickstart,我创建了以下结构:

代码语言:javascript
运行
复制
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以反映我的项目结构。

代码语言:javascript
运行
复制
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。这会失败,每个模块都会出现错误,例如

代码语言:javascript
运行
复制
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

我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-25 14:21:18

由于您已经将MyDjangoProject添加到python路径中,所以应该将myfirstapp导入为myfirstapp而不是MyDjangoProject.myfirstapp

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41853197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档