标记结尾没有空行。但加价是唯一常见的东西

2024-05-19 07:23:31 发布

您现在位置:Python中文网/ 问答频道 /正文

在编写python代码时,我有一个decorator来标记不推荐使用的函数,它也更新docstring。如果函数有文档,但是没有sphinx的抱怨,并且deprecated的文档看起来不正确,那么这种方法很好。在

我已经把问题缩小到等效代码:

def func():
    """.. deprecated:: 0.1.0
  Please use :func:`func_new`

    """

这些都是我尝试过但没有成功的变体:

^{pr2}$

在这种情况下,斯芬克斯抱怨WARNING: Explicit markup ends without a blank line; unexpected unindent.。不管我在末尾有多少空行,或者这些空行前面是否有一些空格。在

如果文档没有问题,而不是生成

Module.func():
    Deprecated since version 0.1.0: Please use :func:`func_new`

输出是

Module.func():
    Deprecated since version 0.1.0.

    Please use :func:`func_new`

如何在不向docstring添加任何(可见)文本的情况下修复此问题?在


Tags: 函数代码文档newuseversion情况deprecated
1条回答
网友
1楼 · 发布于 2024-05-19 07:23:31

琼斯夏普给我指出了正确的方向。在

文档字符串必须如下所示:

def func():
    """
    .. deprecated:: 0.1.0
      Please use :func:`func_new`

    """

下一行中的两个空格,.. deprecated必须与起始"""块对齐。它不能与"""在同一行开始。在

删除docstring并在.. deprecated之前添加\n解决了我的问题。在

相关问题 更多 >

    热门问题