没有子模块的 Sphinx Autodoc
Sphinx Autodoc Without Submodules
我正在开发一个 Python 包,允许用户像这样导入它的功能:
import mymodule
mymodule.afunction()
我正在用 sphinx 记录代码。我首先 运行 sphinx-quickstart
,然后我将 conf.py
更改为包括 sys.path.insert(0, os.path.abspath(‘../../src/mymodule’))
。然后我运行sphinx-apidoc -f -o source ../src/mymodule
和make html
。目录结构是这样的:
├── doc
│ ├── Makefile
│ ├── build
│ ├── make.bat
│ └── source
│ ├── _static
│ ├── _templates
│ ├── conf.py
│ ├── index.rst
│ ├── modules.rst
│ └── mymodule.rst
└── src
└── mymodule
├── __init__.py
└── modulecode.py
输出列出了一个“mymodule.modulecode”子模块。但是因为我的 __init__py
,用户没有明确导入 modulecode
.
是否有一种自动化的方法使 sphinx 文档列出函数 mymodule.afunction()
(用户访问),而不是 mymodule.modulecode.afunction()
(用户不访问) t call)?
感谢 mzjn 对我原来的问题提出的有用意见!正如评论中所讨论的,我需要做两件事:
- 将
__all__=[list of defined functions]
添加到我的 __init__.py
- 从
mymodule.rst
中删除整个 mymodule.modulecode module
部分。
我正在开发一个 Python 包,允许用户像这样导入它的功能:
import mymodule
mymodule.afunction()
我正在用 sphinx 记录代码。我首先 运行 sphinx-quickstart
,然后我将 conf.py
更改为包括 sys.path.insert(0, os.path.abspath(‘../../src/mymodule’))
。然后我运行sphinx-apidoc -f -o source ../src/mymodule
和make html
。目录结构是这样的:
├── doc
│ ├── Makefile
│ ├── build
│ ├── make.bat
│ └── source
│ ├── _static
│ ├── _templates
│ ├── conf.py
│ ├── index.rst
│ ├── modules.rst
│ └── mymodule.rst
└── src
└── mymodule
├── __init__.py
└── modulecode.py
输出列出了一个“mymodule.modulecode”子模块。但是因为我的 __init__py
,用户没有明确导入 modulecode
.
是否有一种自动化的方法使 sphinx 文档列出函数 mymodule.afunction()
(用户访问),而不是 mymodule.modulecode.afunction()
(用户不访问) t call)?
感谢 mzjn 对我原来的问题提出的有用意见!正如评论中所讨论的,我需要做两件事:
- 将
__all__=[list of defined functions]
添加到我的__init__.py
- 从
mymodule.rst
中删除整个mymodule.modulecode module
部分。