问题标签 [sphinx-napoleon]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
155 浏览

python - 如何从 sphinx napoleon 和 numpy 样式文档中获得与默认 rst 方式相同的输出?

如果我采用非常简单的python文件:

我在参数之后得到类型:

在此处输入图像描述

如果我现在将 numpy 样式与拿破仑一起使用:

我最终得到了这个丑陋的设置

在此处输入图像描述

问题似乎是它nd_array不是一个有效的类型,对于默认的狮身人面像似乎不是问题,但对于拿破仑来说这似乎很重要,例如 typeint工作得很好。

0 投票
0 回答
224 浏览

python - 从第三方包继承时,Sphinx 和 Numpydoc 会引发解析错误

我正在尝试使用 Sphinx 和 numpydoc 来记录我的代码,但到目前为止非常不成功。当我尝试时,make html我得到了这个非常令人困惑的错误:

sphinx 无法解析的这个文档字符串来自我的代码继承类的依赖项。但是这种依赖是使用 Sphinx 和 numpy docstyle 本身(https://github.com/networkx/networkx)。所以我可以通过不从那个特定的类继承来摆脱错误,但这不是一个真正的解决方案。

我试图改变conf.py类似以使其适应第三方包。没有成功。另外,也许我可以阻止狮身人面像将其包含在文档中?想...

有谁知道我可以尝试什么?

0 投票
1 回答
561 浏览

python - 我应该记录类似函数签名的参数吗?

我有一些辅助函数,除了第一个参数外,它们采用与核心函数相同的参数。这些参数在核心函数中得到了详尽的记录。我是否也应该将此文档复制粘贴到辅助函数中,还是只指向核心文档?

重要的是,我主要打算将我的 API 引用读取为 Sphinx 生成的 HTML,并且我使用 numpydoc 样式。我在numpydoc 手册中没有找到答案。

编辑

这是一个 MWE:

如您所见,两个函数中只有第一个参数不同。

0 投票
1 回答
288 浏览

python-sphinx - Python 代码中注释和文档字符串的基本语法

我正在学习如何使用Sphinx为我的代码创建文档。在我看到一些这样的例子之后:

评论中使用什么语言让 Sphinx 理解并抓住它们?如果没有这种语法和逻辑,Sphinx 在我的代码中看不到注释,并且当我生成 HTML 时,模块是空的。

这里有一个例子:

在此处输入图像描述

0 投票
1 回答
81 浏览

python - 使用拿破仑预处理器在狮身人面像中插入图像

使用 sphinx 3.1.1,我想使用拿破仑预处理器插入图像。

似乎通过在文档字符串中使用命令:“.. image::”,它可以防止使用拿破仑预处理器进行预解释,并且文档字符串由标准 sphinx 解释器解释。

我的图像被正确可视化,但参数和返回值没有被正确解释,它们看起来像纯文本。

在此处输入图像描述

当我删除 image 命令时,我得到了预期的解释:

在此处输入图像描述

有没有人有办法解决吗?

备注:我不想在 sphinx 标准 reStructuredText 中编写我的文档。

0 投票
1 回答
363 浏览

python - 是否有使用 sphinx.ext.napoleon 在 Sphinx 中记录函数类型参数的标准格式?

我正在使用 Sphinx 来记录我的一个项目,其中一个类在其__init__. 是否有标准方法来记录此函数类型参数?我也sphinx.ext.napoleon习惯于对我的文档字符串使用谷歌格式。

这是一个例子:

在我的代码中,有问题的参数应该接受一个str并返回一个bool. 使用 Sphinx 时是否有标准方法来记录这一点?

0 投票
2 回答
954 浏览

python - 跳过文档中的类型提示

让我们考虑以下函数:

在使用 Sphinx (v3.2.1) 进行记录时,文档以以下形式生成:

在此处输入图像描述

但是,我看不到在f(x: int, y:int) -> int函数文档的标题中以及在该Parameters部分中显示类型提示的意义。在这种情况下,这并不重要,但是对于具有 4-5 个参数的函数来说,它会变得非常不可读。有没有办法跳过类型提示?就像,如果标题只是f或,我会更喜欢f(x, y)

我预计这与add_function_parentheses,但将其设置为Falseinconf.py并没有我注意到的任何影响。

一个相关的问题是,如果类型提示很长,可能就像typing.Union我不想使用的多个长描述一样typing.Any,我经常在文档字符串中跨多行编写这些,遵守最大行数限制。在这些情况下,该Parameters部分显示类型是第一行中的内容,而下一行只是描述。我没有附上这个问题的例子,因为我不确定这些是否相同。如果是的话,请告诉我,我会用一个例子来更新。

0 投票
1 回答
1092 浏览

python - 拿破仑和自动文档如何交互文档成员

我注意到 Sphinx 呈现类描述的方式发生了变化。鉴于此代码

加上一些通用的狮身人面像设置,我大约在两年前得到这个

文档仅显示文档字符串

我现在得到这个

文档显示类变量,就好像它们在文档字符串中一样

有没有办法告诉 Sphinx 不要将类变量添加到类定义的底部?特别烦人的是,它假设它们的值为None,只是因为它们没有默认值。


这个问题是在讨论这个帖子时出现的,它还包含更多关于 Sphinx 配置等的评论。

0 投票
1 回答
274 浏览

python - 使用 Python Sphinx 向模块文档字符串添加参数

我在每个模块的开头都有一个文档字符串,描述了它的用法和功能。在这里,我还想添加最相关的参数 - 例如参数文件中的设置或通过命令行参数。它不是经典的函数参数,因为模块也可能被称为独立的(通过if __name__ == '__main__'捕获)。但是由于 Sphinx 的普通参数格式很整洁,我想重新使用它。

然而,Sphinx 在模块中处理“参数”部分的方式似乎与在函数中不同。

这就是它们的不同格式:

函数文档字符串中的参数:

函数文档字符串中的参数

模块文档字符串中的参数:

模块文档字符串中的参数

你看到了区别。在函数中添加了关键字“参数”,然后我们就有了一个很好的项目符号列表。在模块中没有创建标题,没有列表,类型不是在大括号中设置,而是在附加行等。

文档字符串格式相同(numpydoc):

对比

有谁知道为什么会这样处理?我能做些什么呢?

我希望模块中的参数以与函数相同的方式输出。

0 投票
2 回答
476 浏览

python-sphinx - 在 Python 中记录类级变量

我正在尝试记录一个具有一些类级成员变量的 Python 类,但我无法使用 reST/Sphinx 对其进行适当记录。

代码是这样的:

但是我得到了这个输出(参见绿色圆圈区域,我想在其中有一些描述这两个变量的文本,如上所述)。

在此处输入图像描述

我为模糊道歉,但部分示例有些敏感