You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Sphinx-multiversion构建文档时出现下载文件不可读报错

解决Sphinx-Multiversion构建时下载文件找不到的问题

问题根源

sphinx-multiversion构建多版本文档时,会把Git仓库里的源码复制到临时目录再处理,但默认只复制Git已追踪且没被忽略的文件。如果你的examples.zip没被Git加入追踪,或者_downloads目录被.gitignore排除了,临时目录里就不会有这个文件,自然会报找不到的警告。

解决办法

1. 让Git追踪这个zip文件(最稳妥)

  • 执行命令把文件加入Git:
    git add docs/source/_downloads/examples/examples.zip
    git commit -m "添加示例下载包"
    
  • 要是.gitignore里有排除_downloads的规则,得删掉或者改一下,确保文件能被Git追踪到。

2. 配置sphinx-multiversion强制包含目标目录

要是不想把zip文件加入Git,就在docs/source/conf.py里加个配置,指定要包含的路径:

# 在conf.py里添加这部分配置
smv_include_patterns = [
    "_downloads/**",  # 包含_downloads下所有文件和子目录
    "*.rst",          # 保留默认的rst文件规则
    "_static/**",     # 有静态文件的话也加上
]

注意:这个配置只对Git已追踪的文件生效,如果文件完全没在Git里,还是得用第一种方法。

3. 检查下载链接的路径

确认RST里的链接路径没错:

  • 如果是相对当前RST文件的路径,去掉开头的斜杠:
    :download:`here <_downloads/examples/examples.zip>`
    
  • 要是用的是相对于source根目录的绝对路径,保留斜杠也可以,但前提是文件已经被复制到临时目录的对应位置。

4. 重新构建测试

再跑一遍构建命令:

sphinx-multiversion "docs/source" "docs/build/html" -W --keep-going -n

这时候临时目录里应该就有那个zip文件了,警告也会消失。

内容的提问来源于stack exchange,提问作者yuenherny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 12:12:57