0

我正在开发一个 Python 包,它允许用户像这样导入它的函数:

import mymodule
mymodule.afunction()

我正在用 sphinx 记录代码。我先跑了sphinx-quickstart,然后我改成conf.pyinclude sys.path.insert(0, os.path.abspath(‘../../src/mymodule’))。然后我跑sphinx-apidoc -f -o source ../src/mymodulemake 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”子模块。但由于 my __init__py,用户没有明确导入modulecode.

在此处输入图像描述

是否有一种自动化的方式使 sphinx 文档列出函数mymodule.afunction()(由用户访问),而不是mymodule.modulecode.afunction()(用户不调用)?

4

1 回答 1

0

感谢 mzjn 对我原来的问题的有用评论!正如评论中所讨论的,我需要做两件事:

  1. 添加__all__=[list of defined functions]到我的__init__.py
  2. 从 中删除整个mymodule.modulecode module部分mymodule.rst
于 2022-01-06T03:49:22.453 回答