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

在Read the Docs构建apidoc/autodoc时如何处理CUDA依赖问题?

解决Read the Docs构建含CUDA依赖项目API文档的问题

1. 如何成功安装基于CUDA的依赖?

Read the Docs官方构建环境无CUDA支持,直接源码编译行不通,推荐两种可行方案:

  • 构建纯Python Stub包:手动创建一个模拟yyy模块结构的空包(仅保留类、函数的定义和文档字符串,无需实际功能实现),将其上传至PyPI或Git仓库。在Read the Docs的requirements.txt中安装该Stub包而非真实CUDA版本,既能让autodoc识别模块结构,又无需编译CUDA。
  • 尝试无CUDA编译选项:若yyy项目本身支持跳过CUDA编译,安装时传递对应参数(例如pip install git+https://github.com/xxx/yyy.git --install-option="--no-cuda"),但该方式依赖项目自身提供的选项,通用性有限。

2. 无法安装时,如何忽略导入错误?

最简便的方案是利用Sphinx的自动模拟导入功能:

  • 在项目的docs/source/conf.py中添加配置:
    autodoc_mock_imports = ['yyy']
    
    此配置会让autodoc模拟导入yyy模块,既不会抛出模块未找到错误,又能正常解析代码注释与结构生成文档。
  • 复杂场景下可手动用mock库模拟模块:
    from unittest.mock import Mock
    import sys
    
    sys.modules['yyy'] = Mock()
    

3. 如何用预构建资源替代重复编译?

核心思路是预编译wheel包跳过构建阶段:

  • 在本地或具备CUDA环境的服务器上,编译与Read the Docs环境匹配的yyywheel包(需对齐Python版本、系统架构,例如Ubuntu x86_64、Python 3.10)。
  • 将编译好的wheel包上传至GitHub Releases或其他可公开访问的存储服务。
  • 在Read the Docs的requirements.txt中直接指定wheel包的URL,示例:
    https://github.com/xxx/yyy/releases/download/v1.0/yyy-1.0-cp310-cp310-linux_x86_64.whl
    
    这样pip会直接下载预编译wheel,无需重新编译,大幅缩短构建时间。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 10:16:16