编辑:欢迎我提供的答案之外的其他答案!
考虑以下功能:
from pathlib import Path
from typing import Union
def func(path: Union[str, Path]) -> None:
"""My super function.
Parameters
----------
path : str | Path
path to a super file.
"""
pass
当用斯芬克斯进行记录时,我想用intershinx交叉引用str
和Path
。但显然,它不适用于后者,因为它在objects.inv
文件中被引用为pathlib.Path
。
有没有办法告诉interthinx/sphinxPath
来自pathlib
模块?无需求助:
path : str | `pathlib.Path`
或
path : str | `~pathlib.Path`
它在python解释器(例如IPython(中不能很好地呈现。
numpydoc
可以通过x-ref
别名执行此操作:https://numpydoc.readthedocs.io/en/latest/
在配置conf.py
:中
numpydoc_xref_param_type = True
numpydoc_xref_aliases = {
"Path": "pathlib.Path",
}
它可能会尝试匹配parameters、other parameters、Returns和Yields部分的参数类型中的其他单词。可以通过在配置conf.py
中添加以下内容来忽略它们:
numpydoc_xref_ignore = {
"of",
"shape",
}
numpydoc
还提供了其他有用的工具,如文档验证,可以在conf.py
中使用此处描述的密钥进行配置:https://numpydoc.readthedocs.io/en/latest/install.html#configuration