Sphinx识别到sphinx_rtd_theme却提示找不到主题该如何解决
问题成因
- 版本兼容限制:你当前使用的Sphinx版本为6.0及以上,手动存入
_themes目录的sphinx_rtd_theme版本低于0.3.0,Sphinx 6+已完全移除对0.3.0以下版本rtd主题的兼容支持,触发版本警告后会直接终止对该低版本主题的加载流程。 - 主题搜索路径失效:Sphinx忽略不符合版本要求的本地主题后,会继续在默认搜索路径中查找合规的sphinx_rtd_theme,如果你的Python运行环境中没有预安装适配高版本Sphinx的rtd主题,就会抛出找不到主题、缺失theme.conf的错误,并非你下载的主题真的缺少配置文件。
修复方案
- 方案一:通过包管理器安装适配版主题(推荐)
- 删除项目
_themes文件夹下的旧版sphinx_rtd_theme目录 - 运行命令安装适配高版本Sphinx的rtd主题:
pip install sphinx-rtd-theme>=1.2.0 - 删掉conf.py中的
html_theme_path = ["_themes", ]配置项,仅保留html_theme = "sphinx_rtd_theme"即可,Sphinx会自动从Python包路径中加载已安装的主题。
- 删除项目
- 方案二:保留手动放置主题的使用方式
- 下载1.2.0及以上版本的sphinx_rtd_theme源码包,解压后替换
_themes目录下的旧版主题文件 - 保留conf.py中原有的两条配置,重新执行
make html即可正常构建。
- 下载1.2.0及以上版本的sphinx_rtd_theme源码包,解压后替换
- 方案三:必须保留当前低版本rtd主题的情况
- 降级Sphinx版本到5.x及以下:
pip install sphinx<6.0,低版本Sphinx不会校验rtd主题的版本下限,可正常加载你手动存入的旧主题。
- 降级Sphinx版本到5.x及以下:
内容的提问来源于stack exchange,提问作者glades
相关产品推荐
相关产品推荐

