【发布时间】:2018-05-18 14:41:27
【问题描述】:
我尝试使用 Sphinx-doc 的自动文档。我想解决以下问题。目前,StackOverflow 没有任何解决方案有效。 是因为我的项目结构还是我选择导入模块的方式?
给定文件结构:
project
|_ src
| |_ pre_processing
| | |_ fileInfo.py
| |
| |_ utils
| |_ folder.py
|_ test
|
|_ doc
| |_ doc_user
| |_ build
| |_ source
| |_config.py
以下配置 sys.path :
import os
import sys
sys.path.insert(0, os.path.abspath('../../../src/'))
我在 fileInfo.py 中有一些相对导入:
from ..utils.folder import get_files_directory
终端错误
WARNING: autodoc: failed to import module 'pre_processing.fileInfo'; the following exception was raised:
Traceback (most recent call last):
File "/home/florian-stage/miniconda/envs/gd/lib/python3.5/site-packages/sphinx/ext/autodoc/importer.py", line 140, in import_module
__import__(modname)
File "/home/florian-stage/Projet-2018/pg_georef_data-master/arbo propre/src/pre_processing/fileInfo.py", line 12, in <module>
from ..utils.folder import get_files_directory
ValueError: attempted relative import beyond top-level package
【问题讨论】:
-
相对导入在包中工作。您似乎没有任何软件包(不存在 __init__.py(c) 文件)。
-
我认为 Python 3.* 我们不需要它?
-
您是否将 Sphinx 配置文件命名为
config.py?通常名称是conf.py。见sphinx-doc.org/en/master/usage/configuration.html。 -
解决了吗?似乎添加 init 不会解决问题
标签: python python-3.x python-import python-sphinx