You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Sphinx autodoc以文档化__init__.py中的类

问题解答

1. Sphinx对__init__.py文档的支持性

Sphinx完全支持识别__init__.py中定义的类、方法、函数的文档字符串,这是sphinx.ext.autodoc的基础能力之一,你遇到的渲染为空的问题和__init__.py本身无关。

2. 警告处理必要性

你遇到的No module named 'ps.xxx'; 'ps' is not a package警告必须处理。该警告表示autodoc在构建时无法导入指定模块,导入失败就无法读取模块内的任何文档内容,是生成空白HTML页面的核心原因。

3. 可行修复方案

核心问题是conf.py中配置的Python模块搜索路径错误:你的ps包存放在packages/pss/src/dd路径下,而当前配置仅将项目根目录加入搜索路径,Python无法从根目录直接定位到ps包。

步骤1:修正conf.py的路径配置

替换conf.py中原有的sys.path插入逻辑:

import os
import sys
# 将ps包所在的父目录dd加入Python搜索路径
sys.path.insert(0, os.path.abspath('../../packages/pss/src/dd'))

步骤2:(非必需,仅针对非隐式命名空间包)补全包标识

如果没有使用隐式命名空间包,需要在ps目录下新增空的__init__.py文件,明确将ps标识为Python可导入包。

步骤3:清理缓存重新构建

# 删除旧的自动生成文件和构建缓存
rm -rf source/api/*
rm -rf build/*
# 重新生成apidoc配置
sphinx-apidoc -o source/api/ ../packages/pss/src/dd/ps/ --implicit-namespaces -e -M -P
# 重新构建HTML文档
make html

可选优化

如果当前__all__仅配置了['Xxx'],想要XxxData类也出现在文档中,直接将XxxData加入__all__列表即可,无需修改其他Sphinx配置。

内容的提问来源于stack exchange,提问作者CarolL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.16 18:15:10