如何使用Sphinx链接本地Python帮助文档?

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

  • 回答 (1)
  • 关注 (0)
  • 查看 (213)

我在离线环境中有一个RST帮助文档(index.rst)。我已经下载并使用该命令成功构建了Python文档make.bat html。然后我将这个文档复制到C:\ Temp \ PyDoc。

然后我更新了我的conf.py文件以包含以下Intersphinx映射:

intersphinx_mapping = {'python': ('C:/Temp/PyDoc', None)}

然后,在我的index.rst文件中,我有这样的东西:

Contents:

.. toctree::
   :maxdepth: 1

   :ref:`Python <python:contents>`

所述的Python链路从与报警信息所得到的文档删除:

WARNING: toctree contains reference to nonexisting document ':ref:`Python

我已验证输出包含文本:

loading intersphinx inventory from C:/Temp/PyDoc/objects.inv...

我还通过运行以下内容验证了Python文档中的“contents”标记:

python -m sphinx.ext.intersphinx "C:/Temp/PyDoc/objects.inv" | findstr contents

生成包含该行的输出:

contents      Python Documentation contents      : contents.html

有谁知道如何从我的RST文件中引用这个外部文档?

提问于
用户回答回答于

在intersphinx的配置中,dict的键值是一个元组,它由逗号分隔的值组成,不以冒号分隔:

intersphinx_mapping = {'python': ('C:/Temp/PyDoc', None)}

toctree条目需要一个有效的目标,它可以是相对于当前文件的文件,也可以是从conf.py驻留的文档根开始的绝对文件。目标也可能是一个URL。

语法应该用于文档,而不是Python对象,因为该页面是一个内容表。代码:

.. toctree::
    :maxdepth: 1

    :doc:`Python <python:contents>`

或者你可以使用URL(或类似的相对或绝对目标):

.. toctree::
    :maxdepth: 1

    Python <https://docs.python.org/3/contents.html>

扫码关注云+社区

领取腾讯云代金券