背景
我的代码具有以下结构:
.
└── my_package
├── __init__.py
├── classif
│ ├── __init__.py
│ ├── inference.py
│ └── models.py
├── datasets
│ ├── __init__.py
│ └── datasets.py
└── matching
├── __init__.py
├── elastic.py
└── search.py
在sphinx-quickstart
(with autodoc
) 之后,我运行sphinx-apidoc
如下:
sphinx-apidoc -f -o source my_package -e -M
我现在有以下文件:
.
├── Makefile
├── build
├── my_package
│ ├── __init__.py
│ ├── __pycache__
│ ├── classif
│ ├── datasets
│ └── matching
└── source
├── _static
├── _templates
├── conf.py
├── index.rst
├── modules.rst
├── my_package.classif.inference.rst
├── my_package.classif.models.rst
├── my_package.classif.rst
├── my_package.datasets.datasets.rst
├── my_package.datasets.rst
├── my_package.matching.elastic.rst
├── my_package.matching.rst
├── my_package.matching.search.rst
└── my_package.rst
我还修改conf.py
添加:
import os
import sys
sys.path.insert(0, os.path.abspath('.'))
sys.path.insert(0, os.path.abspath('..'))
并添加modules
到index.rst
:
.. toctree::
:maxdepth: 2
:caption: Contents:
modules
# [more lines]
现在问题来了
运行后make clean ; make html
我收到警告:
/path/to/my_package.classif.rst: WARNING: document isn't included in any toctree
/path/to/my_package.datasets.rst: WARNING: document isn't included in any toctree
/path/to/my_package.matching.rst: WARNING: document isn't included in any toctree
这是有道理的,因为sphinx-apidoc 没有在my_package.rst
. 我该如何解决这个问题?