2024 年 1 月上旬,我所有的 sphinx 构建都失败了,当我执行 make html 时出现以下消息:
本项目使用的sphinxcontrib.applehelp扩展至少需要Sphinx v5.0;因此无法使用此版本构建它。
有人可以解释一下是什么导致了对 >= 5.0 的明显依赖吗? sphinxcontrib.applehelp 是标准 Sphinx 发行版的一部分,因此,这种情况是否意味着小于 5 的 Sphinx 版本不可用?
最好的解决方法是什么?有没有一种方法可以在没有 applehelp 的情况下构建?
显然,人们可以升级 Sphinx 版本,但其他项目(例如,在我的例子中,sphinx_rtd_theme)并不总是适用于任意 Sphinx 版本。
我尝试使用这个组合:
docutils==0.16
sphinx==5.3
sphinx_rtd_theme==1.0.0
这会构建但会生成 HTML 站点,而无需进行全文搜索,我怀疑这是 sphinx_rtd_theme 问题。
“工作”意味着一些关键的事情:
在出现对 ≥ 5.0 的新依赖关系之前,组合
sphinx==4.5, sphinx_rtd_theme==1.0.0
和
sphinx==3.5.4, sphinx_rtd_theme==1.0.0, and jinja2==3.0.3
在不同的版本中为我工作。
我在使用 Plone 6 文档时也遇到了同样的问题。在我升级到 Sphinx >=5 之前,我已将这些引脚固定到位。
sphinxcontrib-applehelp==1.0.4
sphinxcontrib-devhelp==1.0.2
sphinxcontrib-htmlhelp==2.0.1
sphinxcontrib-qthelp==1.0.3
sphinxcontrib-serializinghtml==1.1.5
Sphinx 没有很好地记录这些依赖项的变化以及支持哪些版本的 Sphinx。因此,我使用 GitHub 工作流历史记录来查找“最后一次成功构建”,其中输出了所有已安装的软件包和版本。您还可以使用 pip freeze
步骤使其更清晰。