没有空行结束的标记。但是标记只是评论中的东西
Markup ending without empty line. But markup is only thing in comment
在记录我的 python 代码时,我有一个装饰器来标记已弃用的函数,它还会更新文档字符串。如果该函数有文档但当它没有 sphinx 抱怨并且 deprecated
的文档看起来不正确时,这工作正常。
我已将问题缩小到等效代码:
def func():
""".. deprecated:: 0.1.0
Please use :func:`func_new`
"""
这些都是我尝试过但没有成功的变化:
def func():
""".. deprecated:: 0.1.0
Please use :func:`func_new`
"""
def func():
"""
.. deprecated:: 0.1.0
Please use :func:`func_new`
"""
在这种情况下,Sphinx 会抱怨 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`
如何在不向文档字符串添加任何(可见)文本的情况下解决此问题?
jonrsharpe 给我指出了正确的方向。
文档字符串必须完全像这样:
def func():
"""
.. deprecated:: 0.1.0
Please use :func:`func_new`
"""
下一行的两个空格,并且.. deprecated
必须与开始的"""
块对齐。它不能与 """
.
在同一行开始
删除文档字符串并在 .. deprecated
之前添加 \n
解决了我的问题。
在记录我的 python 代码时,我有一个装饰器来标记已弃用的函数,它还会更新文档字符串。如果该函数有文档但当它没有 sphinx 抱怨并且 deprecated
的文档看起来不正确时,这工作正常。
我已将问题缩小到等效代码:
def func():
""".. deprecated:: 0.1.0
Please use :func:`func_new`
"""
这些都是我尝试过但没有成功的变化:
def func():
""".. deprecated:: 0.1.0
Please use :func:`func_new`
"""
def func():
"""
.. deprecated:: 0.1.0
Please use :func:`func_new`
"""
在这种情况下,Sphinx 会抱怨 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`
如何在不向文档字符串添加任何(可见)文本的情况下解决此问题?
jonrsharpe 给我指出了正确的方向。
文档字符串必须完全像这样:
def func():
"""
.. deprecated:: 0.1.0
Please use :func:`func_new`
"""
下一行的两个空格,并且.. deprecated
必须与开始的"""
块对齐。它不能与 """
.
删除文档字符串并在 .. deprecated
之前添加 \n
解决了我的问题。