如何指定指向numpy、sipy和matplotlib的intersphinx 链接的目标?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (20)

下面是在包之间设置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:S或:term:S是由一个包支持的。

在哪里可以找到关于如何指定目标的说明?:ref:S和:term:安在numpyscipy,和matplotlib?

提问于
用户回答回答于

可以手动指定要查看的inventory。例如,如果intersphinx_mapping['sphinx'] = ('http://sphinx-doc.org/', None)不起作用,您可以随时下载清单并手动将其附加到映射中(例如,从http://sphinx-doc.org/objects.inv,将二进制文件保存在文档中,并在映射中追加路径;这将提供如下内容:

intersphinx_mapping['sphinx'] = ('http://sphinx-doc.org/', ('objects.inv', ), )

若要验证inventory中是否存在引用,可以使用Python包并检查您想要的引用在哪里。

用户回答回答于

numpy

:func:`numpy.cross`

其他时候(例如,对于C函数),您只需引用函数的基本名称,但必须显式地指明域,例如:

:c:func:`PyArray_InnerProduct`

然而,其他时候,您可能不得不引用该自定义。np领域,例如:

:np:func:`numpy.ma.append`

如果不参考objects.inv

scipy分组,例如:

:scipy-optimize:func:`scipy.integrate.newton_cotes`

matplotlib例如:

:meth:`matplotlib.axes.Axes.plot`

所有matplotlib代码对象似乎驻留在默认的py然而,域在某种程度上简化了事情。

对于任何一个,如果您在获得要正确构造的链接时遇到困难,我首先要回到的是使用泛型:obj:作用,例如:

:obj:`matplotlib.axes.Axes.plot`

扫码关注云+社区