Conda + CUDA 环境安装与使用完全指南 技术文档 · 永久存档Conda CUDA 环境安装与使用完全指南基于 Windows 系统从 Miniconda 安装到 CUDA Toolkit 部署涵盖本次踩过的全部坑、根因分析、故障速查表与后续日常使用规范。conda 26.5.3CUDA 13.0.2 (nvcc V13.0.88)RTX 5060 Ti 16GBWindows 10/11 x64目 录一、已安装环境速览二、3 步快速上手日常使用三、标准安装流程避免重踩坑四、6 大问题根因与永久解决方案五、故障排查速查表六、PowerShell Profile 永久配置七、后续使用指南八、关键路径与文件速查一、已安装环境速览本次安装的全部组件如下均已验证可用。硬件与驱动项目值说明GPUNVIDIA GeForce RTX 5060 Ti16311 MiB 显存驱动版本591.55支持 CUDA ≤ 13.1操作系统Windows x64win-64 平台软件组件组件版本安装路径Minicondaconda26.5.3C:\ProgramData\miniconda3Pythonbase 环境3.14.6C:\ProgramData\miniconda3\python.exeCUDA Toolkitcuda130 环境在用13.0.2nvcc V13.0.88C:\ProgramData\miniconda3\envs\cuda130CUDA Toolkit旧环境已废弃勿用13.0.2C:\Users\lizhi\.conda\envs\cuda130⚠️ 重要提示C:\Users\lizhi\.conda\envs\cuda130是第一次创建时写入用户目录的旧环境。管理员终端无法访问该路径会报系统找不到指定的路径请始终使用C:\ProgramData\miniconda3\envs\cuda130。二、3 步快速上手日常使用如果你只是想立刻开始使用 CUDA按下面顺序操作即可。标准使用流程终端输出示例conda activate cuda130 (cuda130) PS C:\Users\lizhi nvcc --version nvcc: NVIDIA (R) Cuda compiler driver Cuda compilation tools, release 13.0, V13.0.88 (cuda130) PS C:\Users\lizhi nvcc my_program.cu -o my_program.exe (cuda130) PS C:\Users\lizhi .\my_program.exe激活 cuda130 后终端输出大量 VS 调试信息怎么办这是 cuda-nvcc 自带的~cuda-nvcc_activate.bat在尝试检测 Visual Studio 工具链编译.cu时需要 C 编译器。不影响使用。如果你已经安装了 Visual Studio 2017/2019/2022 的 C 桌面开发组件这些输出会自动收敛为几行。想彻底屏蔽输出激活时改用conda activate cuda130 2$null | Out-Null。或者安装 Visual Studio Build Tools 的C 桌面开发工作负载。三、标准安装流程避免重踩坑如果你要在另一台电脑或重装系统后重新部署严格按以下步骤操作。这是去除了全部弯路的最小正确流程。flowchart TD A[开始] -- B[检查 GPU 驱动 nvidia-smi] B -- C[下载 Miniconda 官方安装包] C -- D[管理员身份运行安装包] D -- E[安装到 C:\\ProgramData\\miniconda3] E -- F[设置执行策略 RemoteSigned / Bypass] F -- G[conda init powershell] G -- H[重启 PowerShell] H -- I[配置清华镜像源] I -- J[接受 Anaconda TOS 3 条命令] J -- K[创建 CUDA 环境到系统目录 envs_dirs] K -- L[conda activate nvcc 验证] L -- M[完成 ✓]图 1 · 标准安装流程检查 GPU 驱动终端运行nvidia-smi确认驱动版本和 CUDA 上限。你的驱动 591.55 支持 CUDA ≤ 13.1。没有驱动请先到 NVIDIA 官网下载安装。下载 Miniconda推荐从清华镜像下载https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Windows-x86_64.exe运行安装程序关键管理员身份 AllUsers 模式右键安装程序 →以管理员身份运行。安装模式选AllUsers安装路径务必选C:\ProgramData\miniconda3不要安装到用户目录。勾选Add to PATH和Register Python。# 命令行静默安装的正确参数 Start-Process Miniconda.exe -ArgumentList ( /S, /InstallationTypeAllUsers, /InstallDirC:\ProgramData\miniconda3, /AddToPath1, /RegisterPython1 ) -Wait -Verb RunAs设置 PowerShell 执行策略Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Bypass -ForceBypass 是最省心的选择。RemoteSigned 也可以但要对每个 profile 文件执行Unblock-File。初始化 conda C:\ProgramData\miniconda3\Scripts\conda.exe init powershell重启 PowerShell配置清华镜像源conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ conda config --set show_channel_urls yes接受 Anaconda Terms of Service必须否则 create/clone 会失败conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/msys2创建 CUDA 环境关键指定到系统目录 envs不要让 conda 写入用户目录~\.conda\envs。务必把环境创建到系统安装目录下的envs这样普通终端和管理员终端都能访问。conda create -p C:\ProgramData\miniconda3\envs\cuda130 -c nvidia -c conda-forge cuda13.0.2 -y重启 PowerShell验证conda activate cuda130 nvcc --version显示release 13.0, V13.0.88即为成功。四、6 大问题根因与永久解决方案本次安装过程中遇到的全部问题。每一条都附带根因分析避免以后在相同问题上反复消耗时间。#错误现象根因分析永久解决方案1安装失败Failed to extract packagesNSIS 安装日志下载的安装包不完整。由于网络不稳定下载到 122MB 时中断但被缓存。NSIS 安装器解压时发现包损坏。1. 使用curl.exe -L -C -断点续传2. 安装前校验文件大小Miniconda latest ≈ 124.7MB3. 优先使用清华镜像比官方源稳定2命令不存在无法将conda项识别为 cmdlet...两种可能a)PATH 中没有 conda 路径JustMe 安装模式没有写入系统 PATHb)PowerShell 执行策略禁止加载 profileconda hook 没被 dot-source1. 安装时必须选AllUsers到C:\ProgramData2. 手动追加 4 条路径到用户 PATHminiconda3、Scripts、condabin、Library\bin3.Set-ExecutionPolicy Bypass -Scope CurrentUser3脚本被阻止因为在此系统上禁止运行脚本...PowerShell 默认执行策略Undefined/Restricted.ps1文件包括 profile 都会被拒绝加载。RemoteSigned仍可能阻止本地创建的未签名脚本取决于 Zone.Identifier。1. 执行Set-ExecutionPolicy -Scope CurrentUser Bypass -Force2. 对两个 profile 文件执行Unblock-FileRemoteSigned 场景下3. 同时写入profile.ps1和Microsoft.PowerShell_profile.ps1不同宿主加载不同文件4环境找不到EnvironmentNameNotFound: cuda130或conda env list只显示 base管理员终端的 PATH 被重置conda PowerShell 函数未加载。当Get-Command conda显示的是conda.batApplication 类型而非 Conda.psm1 导出的 Function说明 hook 未加载。此时 activate 走的是 cmd 子进程PATH 修改无法回传到 PowerShell 父进程。永久方案在 profile 顶部先手动加载模块再注入基础 PATH. C:\ProgramData\miniconda3\shell\condabin\Conda.psm1 . C:\ProgramData\miniconda3\shell\condabin\conda-hook.ps1 # 手动注入基础 conda PATH 防止管理员终端丢失 foreach ($p in (C:\ProgramData\miniconda3, C:\ProgramData\miniconda3\Scripts, C:\ProgramData\miniconda3\condabin, C:\ProgramData\miniconda3\Library\bin)) { if ($env:PATH -notlike *$p*) { $env:PATH $p;$env:PATH } }5路径不存在EnvironmentLocationNotFound: Not a conda environment或 robocopy 报0x00000003 系统找不到指定的路径以管理员身份运行 PowerShell 时无法访问普通用户目录下的.conda文件夹。NTFS 的用户目录对管理员也是部分受限的特别是带.前缀的隐藏目录不同完整性级别的令牌可能看不到部分内容。conda 进入目录失败就会判定Not a conda environment。核心原则conda 环境永远创建到C:\ProgramData\miniconda3\envs\不要放到~\.conda\envs。用-p参数显式指定路径创建conda create -p C:\ProgramData\miniconda3\envs\cuda130 ...6TOS 未接受CondaToSNonInteractiveError: Terms of Service have not been acceptedAnaconda 自 2025 年起要求在使用defaults / pkgs/main / pkgs/r / pkgs/msys2前显式接受服务条款。即使你不用这些频道conda 的元数据解析也可能触发。创建任何环境之前先跑 3 条 TOS 接受命令见第三节第 7 步。如果你的镜像源完全移除了 defaults 频道可以用conda config --remove channels defaults规避。五、故障排查速查表遇到报错直接查表按优先级顺序执行对应命令。大多数情况下第 1 条或第 2 条即可解决。报错信息匹配关键词优先级执行命令 / 操作无法将conda项识别为 cmdletP0先手动加载 hook. C:\ProgramData\miniconda3\shell\condabin\Conda.psm1; . C:\ProgramData\miniconda3\shell\condabin\conda-hook.ps1再验证conda --version。如果生效说明 profile 未加载 → 按第六节修复。EnvironmentNameNotFound: cuda130P0先确认conda env list能否看到 cuda130。看不到 → 先加载 hook同上一条。仍看不到 → 用绝对路径激活conda activate C:\ProgramData\miniconda3\envs\cuda130。Not a conda environment: C:\Users\lizhi\.conda\envs\cuda130P0不要使用用户目录下的旧环境。改用系统目录路径conda activate C:\ProgramData\miniconda3\envs\cuda130然后用conda env list确认名字解析正常。禁止运行脚本 / UnauthorizedAccessP1Set-ExecutionPolicy -Scope CurrentUser Bypass -Force重启 PowerShell。nvcc : 无法将nvcc项识别为...P1先用绝对路径确认文件存在 C:\ProgramData\miniconda3\envs\cuda130\Library\bin\nvcc.exe --version若能显示版本 → 说明当前 shell 的 PATH 丢了。重新conda activate cuda130或手动追加$env:PATH C:\ProgramData\miniconda3\envs\cuda130\Library\bin; $env:PATHTerms of Service have not been acceptedP1执行第三节第 7 步的 3 条conda tos accept命令。激活时大量VSINSTALLDIR/vcvars64.bat/系统找不到指定的路径输出P2可忽略不影响使用。若想彻底消除安装 Visual Studio Installer → 勾选使用 C 的桌面开发工作负载。conda 下载大包时Connection broken: IncompleteReadP1增大超时与重试次数conda config --set remote_connect_timeout_secs 60 conda config --set remote_read_timeout_secs 300 conda config --set remote_max_retries 10 conda config --set remote_backoff_factor 2管理员终端robocopy访问用户目录报0x00000003P0不要在管理员终端里操作C:\Users\lizhi\.conda\...目录。切换到普通 PowerShell 再访问用户目录。六、PowerShell Profile 永久配置以下是当前应该写入的最终版本。如果你重新装系统或换电脑直接复制这段即可。写入的两个文件文件路径作用加载时机C:\Users\lizhi\Documents\WindowsPowerShell\profile.ps1所有宿主通用profilePowerShell ISE、VSCode 终端等部分宿主会加载此文件先于 CurrentUserCurrentHost 加载C:\Users\lizhi\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1Console 宿主专用 profileWindows 自带的 powershell.exe 加载profile.ps1 之后加载 为什么写两个文件不同的 PowerShell 宿主ConsoleHost、ISE、Visual Studio Code、PowerShell 7加载的 profile 文件路径和顺序都不同。两个都写保证任何终端打开都能生效。这是本次调试中反复出现我的终端能用你那边不能用的根因之一。最终版 Profile 内容两个文件内容完全相同# conda initialize永久固定版本 $Env:CONDA_EXE C:/ProgramData/miniconda3/Library/bin/conda.exe $Env:_CE_M $Env:_CE_CONDA $Env:CONDA_SHLVL 0 . C:/ProgramData/miniconda3/shell/condabin/Conda.psm1 . C:/ProgramData/miniconda3/shell/condabin/conda-hook.ps1 # 确保管理员终端也能找到 condaPATH 注入 $basePaths ( C:\ProgramData\miniconda3, C:\ProgramData\miniconda3\Scripts, C:\ProgramData\miniconda3\condabin, C:\ProgramData\miniconda3\Library\bin ) foreach ($p in $basePaths) { if ($env:PATH -notlike *$p*) { $env:PATH $p;$env:PATH } } # conda initialize end 需要配合的执行策略Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Bypass -Force 确认时输入 Y 或全选 A Unblock-File C:\Users\lizhi\Documents\WindowsPowerShell\profile.ps1 Unblock-File C:\Users\lizhi\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1完成以上操作后关闭所有 PowerShell 窗口重新打开一个新窗口此时直接输入conda activate cuda130应该立刻能用不需要额外步骤。七、后续使用指南7.1 conda 常用命令操作命令说明查看所有环境conda env list列出全部 conda 环境和路径激活环境conda activate 名字或路径如conda activate cuda130退出环境conda deactivate退出当前环境回到 base创建新环境推荐写入系统 envs 目录conda create -p C:\ProgramData\miniconda3\envs\name python3.12 -y始终用-p指定到系统目录查看已装包conda list -n cuda130或激活后直接conda list安装包conda install -n cuda130 numpy -y优先用conda-forge频道加-c conda-forge删除环境conda env remove -n cuda130 -y或conda env remove -p C:\...\cuda130克隆环境conda create -p 目标路径 --clone 源路径 -y先接受 3 条 TOS否则会报错搜索包conda search -c conda-forge cudnn支持 glob如cuda13.0.*7.2 编译 CUDA 程序Hello, GPU创建文件hello.cu#include stdio.h __global__ void hello() { printf(Hello from GPU block %d, thread %d\n, blockIdx.x, threadIdx.x); } int main() { hello2, 4(); cudaDeviceSynchronize(); printf(Hello from CPU\n); return 0; }编译并运行(cuda130) PS nvcc hello.cu -o hello.exe (cuda130) PS .\hello.exe Hello from GPU block 0, thread 0 Hello from GPU block 0, thread 1 ... Hello from CPU7.3 安装 PyTorchGPU 版建议单独建一个环境不要和 CUDA Toolkit 的纯编译环境混在一起。conda create -p C:\ProgramData\miniconda3\envs\torch python3.12 pytorch torchvision torchaudio pytorch-cuda13.0 -c pytorch -c nvidia -c conda-forge -y conda activate torch (torch) PS python -c import torch; print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0)) True NVIDIA GeForce RTX 5060 Ti7.4 安装 TensorFlowGPU 版conda create -p C:\ProgramData\miniconda3\envs\tf python3.12 tensorflow-gpu cudnn -c conda-forge -y conda activate tf (tf) PS python -c import tensorflow as tf; print(tf.config.list_physical_devices(GPU))7.5 频道优先级说明 频道选择原则PyTorch优先-c pytorch -c nvidia官方预编译二进制兼容性最好CUDA Toolkit / cudnn优先-c nvidia其次-c conda-forge通用 Python 包优先-c conda-forge更新快包多不要混用同一个库的多个频道版本容易出现 ABI 冲突。建环境时频道顺序一次定好。八、关键路径与文件速查出问题时先对照这些路径确认文件是否存在、是否有权限访问。目录结构用途路径必须存在Miniconda 根目录C:\ProgramData\miniconda3是conda 主程序C:\ProgramData\miniconda3\Scripts\conda.exe是conda bat 入口C:\ProgramData\miniconda3\Library\bin\conda.bat是PowerShell 模块关键C:\ProgramData\miniconda3\shell\condabin\Conda.psm1是PowerShell hook 脚本关键C:\ProgramData\miniconda3\shell\condabin\conda-hook.ps1是系统级环境目录C:\ProgramData\miniconda3\envs\是cuda130 环境在用C:\ProgramData\miniconda3\envs\cuda130是nvcc.exe 位置C:\ProgramData\miniconda3\envs\cuda130\Library\bin\nvcc.exe是cuda130 环境元数据C:\ProgramData\miniconda3\envs\cuda130\conda-meta\是用户级 .condarc 配置C:\Users\lizhi\.condarc可选系统级 .condarc 配置C:\ProgramData\miniconda3\.condarc可选旧环境勿用管理员不可见C:\Users\lizhi\.conda\envs\cuda130废弃PowerShell Profile AC:\Users\lizhi\Documents\WindowsPowerShell\profile.ps1是PowerShell Profile BC:\Users\lizhi\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1是10 秒诊断命令任何时候怀疑环境有问题依次运行以下 4 条把输出对比预期就能定位Get-ExecutionPolicy -Scope CurrentUser 期望输出: Bypass 或 RemoteSigned Get-Command conda | Select-Object CommandType, Path 期望: CommandType Function (来自 Conda.psm1) 或 Application 指向 Library\bin\conda.bat conda env list 期望: 列出 base cuda130 (路径 C:\ProgramData\miniconda3\envs\cuda130) Test-Path C:\ProgramData\miniconda3\envs\cuda130\Library\bin\nvcc.exe 期望: True✅ 环境验收标准以上 4 条全部符合预期再加上conda activate cuda130; nvcc --version能显示V13.0.88即代表整个 conda CUDA 环境完全正常。以后不需要再调试安装层面的任何东西。参考资料Anaconda, Inc. — Conda 官方文档26.x。环境管理、配置文件与 init 命令说明。Conda Documentation — conda 26.5.3 documentationAnaconda, Inc. — Miniconda 下载页。安装参数与静默安装说明。Anaconda Distribution vs. Miniconda - AnacondaMicrosoft — PowerShell about_Execution_Policies。执行策略各 scope 的生效顺序。about_Execution_Policies - PowerShell | Microsoft LearnNVIDIA — CUDA Toolkit Documentation 13.x。nvcc 编译链与 Windows 安装说明。CUDA Toolkit Documentation清华大学 TUNA 镜像站 — Anaconda / Miniconda / conda-forge 镜像使用帮助。Anaconda | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source MirrorAnaconda — Terms of Service Acceptance 流程2025 起。使用 defaults / pkgs/main 频道前需显式接受。https://www.anaconda.com/terms-of-serviceAnaconda — NVIDIA conda 频道迁移公告。自 2026 年 8 月 7 日起停止更新后续从 defaults 或 conda-forge 获取。nvidia Channel Changes: How to Migrate to main | Anaconda