按照在包之间设置Sphinx文档链接的文档,我添加了
intersphinx_mapping = {'python': ('http://docs.python.org/2', None),
'numpy': ('http://docs.scipy.org/doc/numpy/', None),
'scipy': ('http://docs.scipy.org/doc/scipy/reference/', None),
'matplotlib': ('http://matplotlib.sourceforge.net/', None)}
到我的conf.py
,但似乎不能链接到除Python本身以外的任何项目才能工作。例如
:term:`svg graphics <matplotlib:svg>`
只是把我带到索引页,没有添加预期的#term-svg
锚点,我甚至找不到scipy
的词汇表,也找不出如何确定包支持哪些:ref:
或:term:
。
在哪里可以找到有关如何在numpy
、scipy
和matplotlib
中为:ref:
和:term:
指定目标的说明
那么,我如何链接到Sphinx本身呢?添加
intersphinx_mapping['sphinx'] = ('http://sphinx-doc.org/', None)
和
:ref:`Intersphinx <intersphinx>`
不起作用。
发布于 2017-01-20 06:51:37
可以手动指定要查看的库存。例如,如果intersphinx_mapping['sphinx'] = ('http://sphinx-doc.org/', None)
不起作用,您始终可以下载清单并手动将其附加到映射中(例如,从http://sphinx-doc.org/objects.inv下载,将二进制文件保存在您的文档中,并在映射中附加它的路径;这将提供类似于:
intersphinx_mapping['sphinx'] = ('http://sphinx-doc.org/', ('objects.inv', ), )
要验证清单中是否存在引用,可以使用sphobjinv python包浏览二进制文件,并检查哪里是所需的引用。
这可能不是问题的解决方案,但可以帮助调试某些东西。
发布于 2018-08-08 22:51:37
以防这仍然是个问题..您需要省略URL末尾的斜杠:
intersphinx_mapping = {'python': ('http://docs.python.org/2', None),
'numpy': ('http://docs.scipy.org/doc/numpy', None),
'scipy': ('http://docs.scipy.org/doc/scipy/reference', None),
'matplotlib': ('http://matplotlib.sourceforge.net', None)}
发布于 2019-07-24 16:02:59
了解如何进行交叉引用的另一种方法是使用sphobjinv模块。
您可以搜索本地甚至远程库存文件(使用模糊匹配)。例如,使用scipy:
$ sphobjinv suggest -t 90 -u https://docs.scipy.org/doc/scipy/reference/objects.inv "signal.convolve2d"
Remote inventory found.
:py:function:`scipy.signal.convolve2d`
:std:doc:`generated/scipy.signal.convolve2d`
请注意,您可能需要使用:py:func:
而不是:py:function:
(我很乐意知道为什么)。
https://stackoverflow.com/questions/21538983
复制相似问题