【conda】使用 conda 安装的 cuda-toolkit 时,安装的版本与指定版本不一致

【conda】使用 conda 安装的 cuda-toolkit 时,安装的版本与指定版本不一致

  • [1 问题描述](#1 问题描述)
  • [2 channel 介绍](#2 channel 介绍)
    • [2.1 conda-forge](#2.1 conda-forge)
    • [2.2 nvidia](#2.2 nvidia)
      • [2.2.1 cuda-toolkit](#2.2.1 cuda-toolkit)
  • [3 原因](#3 原因)
  • [4 解决方法](#4 解决方法)

1 问题描述

参考博客: Link

与参考博客的问题相似,我本机是 cuda 11.8,使用 conda 安装 cuda-toolkit 12.1,但最终 nvcc -V 显示为 12.6

执行 conda list 后发现安装 cuda 相关的包来自不同的 channel:

  • nvidia
  • nvidia/label/cuda-12.1.0
  • conda-forge

2 channel 介绍

2.1 conda-forge

参考文档: Link

conda-forge 是一个社区项目,为各种软件提供 conda 包,所有 conda-forge 包都可以在这里找到: Link

2.2 nvidia

nvidia 的所有包都可以在这里找到: Link

2.2.1 cuda-toolkit

安装 cuda-toolkit 后会改变虚拟环境中的 cuda 版本,所有版本 cuda-toolkit 的 conda channel: Link

如果要指定版本安装,应该选择相应的 channel,否则会安装最新的版本。

3 原因

参考文档: Link

我使用 .yml 文件来创建环境并安装各个包

bash 复制代码
conda env create -f /path/to/environment.yml

下面是我初始的 .yml 文件内容:

yaml 复制代码
channels:
  - pytorch
  - nvidia
  - nvidia/label/cuda-12.1.0
  - conda-forge
  - defaults
dependencies:
  - python=3.10
  - faiss-gpu=1.8.0
  - cuda-toolkit=12.1
  - pytorch=2.1.2
  - pytorch-cuda=12.1 
  - torchvision=0.16.2

默认情况下,conda 会优先选择来自高优先级 channel 的包,所以由于优先级的问题,导致 cuda-toolkit 中各个包安装的来源不同,版本不一致。

4 解决方法

  1. 删除原环境
bash 复制代码
conda remove -n xxx --all
  1. 修改 .yml 文件,将 nvidia/label/cuda-12.1.0 的优先级提前
yml 复制代码
channels:
  - pytorch
  - nvidia/label/cuda-12.1.0
  - nvidia
  - conda-forge
  - defaults
dependencies:
  - python=3.10
  - faiss-gpu=1.8.0
  - cuda-toolkit=12.1
  - pytorch=2.1.2
  - pytorch-cuda=12.1 
  - torchvision=0.16.2
  1. 创建环境并安装
bash 复制代码
conda env create -f environment.yml

如果过程中出错造成中断,可以通过 update 继续安装

bash 复制代码
conda activate xxx
conda env update -f environment.yml

安装完成后,就是 cuda 12.1

其中 cuda-version 这个包的 channel 为 conda-forge 的原因是在 conda 的 nvidia/label/cuda-12.1.0 这个 channel 中找不到 cuda-version 12.1.0,所以在低优先级的 channel 检索并安装。

相关推荐
CodeLove·逻辑情感实验室21 分钟前
深度解析:当 NLP 试图解构爱情——情感计算(Affective Computing)的伦理边界与技术瓶颈
人工智能·深度学习·自然语言处理·赛朋克
CoovallyAIHub2 小时前
工业视觉检测:多模态大模型的诱惑
深度学习·算法·计算机视觉
shangjian0074 小时前
AI大模型-核心概念-深度学习
人工智能·深度学习
PeterClerk4 小时前
RAG 评估入门:Recall@k、MRR、nDCG、Faithfulness
人工智能·深度学习·机器学习·语言模型·自然语言处理
All The Way North-4 小时前
PyTorch从零实现CIFAR-10图像分类:保姆级教程,涵盖数据加载、模型搭建、训练与预测全流程
pytorch·深度学习·cnn·图像分类·实战项目·cifar-10·gpu加速
绿洲-_-4 小时前
MBHM_DATASET_GUIDE
深度学习·机器学习
AI街潜水的八角4 小时前
深度学习洪水分割系统2:含训练测试代码和数据集
人工智能·深度学习
llddycidy5 小时前
峰值需求预测中的机器学习:基础、趋势和见解(最新文献)
网络·人工智能·深度学习
AI小怪兽6 小时前
轻量、实时、高精度!MIE-YOLO:面向精准农业的多尺度杂草检测新框架 | MDPI AgriEngineering 2026
开发语言·人工智能·深度学习·yolo·无人机
一招定胜负6 小时前
图像形态学+边缘检测及CNN关联
人工智能·深度学习·cnn