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

CUDA 11.1+PyTorch 1.8+Conda环境编译Apex报错及疑问

解决Conda环境编译Apex时的TypeError问题

问题背景

  1. 从干净环境(已移除所有CUDA及NVIDIA相关驱动)出发,创建新Conda环境并执行安装命令:
    conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=11.1 -c pytorch -c conda-forge
    
  2. 通过apt安装nvidia-driver-450并重启系统,验证torch.cuda.is_available()返回True,PyTorch CUDA功能正常。

错误现象

编译Apex时触发以下错误:

TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'
error: subprocess-exited-with-error

曾尝试多次重装驱动/重建环境、设置TORCH_CUDA_ARCH_LIST为GPU算力值,均无法解决。

根本原因及解决方法

Conda默认安装的cudatoolkit是运行时版本,仅包含运行PyTorch所需的核心库,缺少完整的CUDA工具链(比如nvcc编译器),而编译Apex需要完整的CUDA开发工具链支持。

解决步骤:

  1. 在当前Conda环境中安装对应版本的CUDA开发包
  2. 设置环境变量CUDA_HOME为当前Conda环境的路径(即CONDA_PREFIX),确保编译工具能找到CUDA开发文件

结论

无需通过apt安装系统级CUDA,仅需在Conda环境内补充安装CUDA开发版本即可满足Apex编译需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 17:50:05