Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-Sphinx检查域链接_Python_Python Sphinx - Fatal编程技术网

Python-Sphinx检查域链接

Python-Sphinx检查域链接,python,python-sphinx,Python,Python Sphinx,如果:func:`my\u function\u name`未指向有效链接,如何报告错误?理想情况下,我想要一个工具,可以检查只与代码相关的域,而不检查其他内容,并将这些断开的链接作为错误返回,以便用于CI目的 理想/理想的工具 运行时,它将遍历Python文件,并在存在链接问题的地方打印行号/列号。e、 g 链接检查器my_module.py my_module.py|4|6|:func:`get_foo`|Missing link my_module.py|4|8|:attr:`some.t

如果
:func:`my\u function\u name`
未指向有效链接,如何报告错误?理想情况下,我想要一个工具,可以检查只与代码相关的域,而不检查其他内容,并将这些断开的链接作为错误返回,以便用于CI目的

理想/理想的工具 运行时,它将遍历Python文件,并在存在链接问题的地方打印行号/列号。e、 g

链接检查器my_module.py

my_module.py|4|6|:func:`get_foo`|Missing link
my_module.py|4|8|:attr:`some.thing`|More than one target
这种特定的工具可能不存在,但这是绝对理想的。但是如果该工具只是报告来自
.rst
文件的缺少链接,那就足够了,因为我的大多数docstring都变成了API文档<代码>吹毛求疵和
链接检查
几乎可以工作,但不能

当前使用
挑剔的问题
有一个
-n
挑剔的
选项可以满足我的需求。问题是,它不适合CI,因为它捕获了太多的误报

例如:


例如,以拿破仑的“谷歌风格”文档字符串为例:

def foo(bar=8):
“做点什么。
Args:
条形图(int,可选):这里有一些信息。
"""
通过
挑剔的回报

WARNING: py:class reference target not found: int
WARNING: py:class reference target not found: optional
int
optional
都不能解释为
py:class
。但它还是把它当作一个整体

使用链接检查时出现的当前问题 建议使用linkcheck。就我所见,它有着与挑剔同样的问题。我希望使用类似于
sphinx build-b linkcheck foo bar-W的东西将警告更改为错误,以便CI工具可以使用它。但是因为它报告了如此多的误报,它会向用户发送不必要的信息

总结
如果只检查Sphinx域,例如
py:class
py:func
等,那么
linkcheck
就可以很好地工作,并且不会在所有这些误报上出错。也许有个办法可以解决这个问题?我在文档或源代码中没有看到任何有用的东西。任何帮助都将不胜感激。

您是否尝试过?“例如,以这个napoleon”谷歌风格的“docstring”为例,我不知道您为什么要提到napoleon扩展。AFAIK只增加了谷歌风格和numpy支持。它与斯芬克斯域没有任何关系。不过我可能错过了什么。你能解释一下吗?也许会有帮助?