Python sphinx 使用include指令发出相对和绝对路径问题

Python sphinx 使用include指令发出相对和绝对路径问题,python-sphinx,restructuredtext,Python Sphinx,Restructuredtext,我的项目有以下sphinx目录结构 /applications /app1 Content.rst /app2 Content.rst /components /component1 Content.rst /figures Figure1.png /component2 Content.rst /figures Figure1.png 对于每个可重用的UI软件组件,我都有一个单独的目录,其中包括

我的项目有以下
sphinx
目录结构

/applications
  /app1   
    Content.rst
  /app2
    Content.rst
/components
  /component1
    Content.rst
    /figures
       Figure1.png 
  /component2
    Content.rst
    /figures
      Figure1.png
对于每个可重用的UI软件组件,我都有一个单独的目录,其中包括一些图中的UI屏幕截图。每个组件都有一些图形,通过使用相对路径的图像指令,使目录易于移动和重新命名

此外,我还为我们的最终用户客户提供了应用程序。但并非每个组件都在每个应用程序中使用

现在出现了相对路径和绝对路径的问题。假设
applications/app1/Content.rst
包含以下内容:

.. include:: components/component1/Content.rst
.. image:: figures/Figure1.png 
此外,假设
components/component1/Content.rst
包含以下内容:

.. include:: components/component1/Content.rst
.. image:: figures/Figure1.png 
现在,我的文档中包含了component1的文件rst文件,但文档中不包含component1的图像

Python Sphinx打印:

WARNING: image file not readable: figures/Figure1.png
这里似乎有一个相对路径的问题,我在尝试了几个小时后无法解决。我甚至想知道,在处理
组件/component1/Content.rst
时,当前的工作目录是什么

我还希望尽可能避免组件的
Content.rst
中的绝对路径

非常感谢对我问题的任何帮助

回顾

如果我将图像行更改为:

.. image:: components/component1/figures/Figure1.png
将显示图像,但现在如果需要移动或重命名组件,我会遇到严重问题


但现在我有另一个问题:如果有人想通过
目录树::
命令将
组件/component1/Content.rst
包含在
索引.rst
中。然后查看图像
components/component1/components/component1/figures/Figure1.png
,这又错了。

令人钦佩的是,您记录了您尝试过但没有成功的内容,但我不清楚您实际上在尝试完成什么。您想要模块化,但在引用中没有使用模块化。要想解释你可能需要的事情,而不是你实际上必须做的事情,要复杂得多。如果必须使用嵌套的包含和图像引用,请使用
。/
进入目录。但到那时,你最好使用绝对引用并称之为汤。谢谢你的评论。我需要一些时间来思考我真正想要完成的事情。我现在通过完整的文档使用绝对引用,因为这是唯一可行的方法。但斯芬克斯仍然发布了很多图像,没有发现错误,但结果是正确的。所以我有点困惑。