在Python文档字符串中,我有一个reStructuredText指令来显示图像:
.. image:: ./images/code_quality.png
代替图像,我得到一个小图标和一个路径:
_images/code_quality.png
Screen clip of link shown instead of the image I want to show.
我也尝试过这个:
.. image:: images/code_quality.png
还有这个:
.. image:: https://imgs.xkcd.com/comics/code_quality.png
:alt: code_quality
使用图形而不是图像仅使相同的输出居中。
.. figure:: images/code_quality.png
如果我将其从文档字符串中取出并放入.rst文件中,它也将不起作用。
图像已被Sphinx复制到_static目录中。链接的任何其他形式都会引发错误。在指令之前和之后,我有两个空行。
所有其他文档字符串都能正确呈现,包括包含图像链接的其余文档字符串。我没有要渲染的其他图像,但是我之前在另一个模块中尝试过一次,因此也无法正常工作。
我正在使用autodoc扫描Python模块的文档字符串。我使用Windows 10,而Chrome是我的主要浏览器。它在我尝试过的任何其他浏览器上均不起作用。
有一些建议可以查看此答案:Is it possible embed pictures into docstring in Python?
make上的Shell输出:
\docs>make html
Running Sphinx v2.4.4
loading translations [en]... done
making output directory... done
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 11 source files that are out of date
updating environment: [new config] 11 added, 0 changed, 0 removed
reading sources... [100%] user_guide
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
writing output... [100%] user_guide
generating indices... genindex py-modindexdone
writing additional pages... searchdone
copying images... [100%] images/code_quality.png
copying static files... ... done
copying extra files... done
dumping search index in English (code: en)... done
dumping object inventory... done
build succeeded.
The HTML pages are in build\html.
HTML输出的图像部分是:
<img alt="_images/code_quality.png" tedc="_images/code_quality.png" />
('tedc'是我在项目的根setup.py模块中定义的应用程序的名称。)
这是我通过创建与我的生产项目的结构相同的结构来重新构造图像指令在Sphinx中无法正常工作的问题。
我的生产代码是从根调用的,模块位于软件包中。
我的文档位于docs目录中,与此处显示的相同。
我在这里使用虚拟环境。
我使用的库比这里使用的库多得多。
我正在使用Python 3.8.2
我在练习中没有发现任何有助于解释为什么图像指令在我的生产代码中不起作用的原因。我的生产代码使用相同的指令。
我尝试重现此问题但未能成功后,我建议OP应该尝试删除虚拟环境和docs build目录,并重新创建其虚拟环境,安装要求并再次构建docs。这解决了问题。