构建狮身人面像文档时无法导入模块

问题描述 投票:1回答:3

我正在使用Sphinx版本1.4.5

我的项目结构如下:

+ src > main.py + docs (generated with sphinx-quickstart)

即使在将路径添加到src中的docs/conf.py文件夹之后:

sys.path.insert(0, os.path.abspath('../src'))

并使用以下命令为src/main.py(即docs/src.rstdocs/modules.rst)生成第一个文件:

$ sphinx-apidoc -fo docs src

[当我尝试使用以下方法构建html网页时:

$ make clean
$ make html

找不到src模块和src/main.py

WARNING: autodoc: failed to import module u'src.main'; the following exception was raised

python python-sphinx
3个回答
3
投票
尝试执行此操作来插入路径:

sys.path.insert(0, os.path.abspath('../'))

也请考虑使用比src更好的目录名称。

0
投票
您当前的工作目录应该是您的makefile的目录,应该是docs

0
投票
我喜欢在conf.py中使用以下代码来确切了解当前目录以及目标模块在哪里(以获取文档):

current_dir = os.path.dirname(__file__) target_dir = os.path.abspath(os.path.join(current_dir, "../../src")) sys.path.insert(0, target_dir) print(target_dir)

在这种情况下,我正在寻找为我的src创建文档,请参见上下文树:

main ├── docs │   ├── build │   ├── make.bat │   ├── Makefile │   └── source │ ├── conf.py │ └── index.rst │ └── src ├── __init__.py ├── target_module ├── requirements.txt └── setup.py

下一步,从您的终端:

[user@localhost docs]$ sphinx-apidoc -f -o source/ ../src/target_module [user@localhost docs]$ make html

© www.soinside.com 2019 - 2024. All rights reserved.