在编写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添加任何(可见)文本的情况下修复此问题?在
琼斯夏普给我指出了正确的方向。在
文档字符串必须如下所示:
下一行中的两个空格,
.. deprecated
必须与起始"""
块对齐。它不能与"""
在同一行开始。在删除docstring并在
.. deprecated
之前添加\n
解决了我的问题。在相关问题 更多 >
编程相关推荐