
配环境这件事在深度学习方向几乎是“劝退率”最高的一步。很多人不是被模型难倒而是倒在 Anaconda 下载、PyTorch 装错版本、GPU 明明有却用不上、编辑器里解释器配置混乱这些环节上。这篇文章的目的很简单把 2026 年仍然实用的 Anaconda PyTorch 双版本 编辑器一站式环境搭建流程完整过一遍。所谓“双版本”不是指装两个 Python而是在同一台机器上维护两套独立虚拟环境一套 CPU 版 PyTorch用于日常调试、低算力跑通代码一套 GPU 版 PyTorch用于实际训练和推理。这样做的最大好处是互不污染、随时切换。这篇文章会覆盖Anaconda 下载安装与源配置、conda 虚拟环境创建、PyTorch CPU/GPU 双版本安装命令、CUDA 驱动版本判断、PyCharm 和 VS Code 的解释器配置、第一段 PyTorch 代码验证、显存占用观察方法以及高频报错排查。整个流程同样适用于 Windows、Linux 和 macOS核心命令几乎一致只有少数步骤需要按平台微调。如果你正在准备读论文复现、跑课程设计、做毕设实验或者想把自己的老笔记本利用起来先跑通训练流程这套流程可以直接照抄。需要提前说明的一点Anaconda 和 PyTorch 的版本迭代很快本文提供的是通用方法和可靠命令模板。实际安装时以官方最新稳定版为准但安装思路不会变。1. 核心能力速览能力项说明覆盖内容Anaconda 安装、conda 虚拟环境、PyTorch CPU/GPU 双版本、编辑器集成操作系统支持Windows 10/11、Ubuntu 等主流 Linux 发行版、macOS硬件要求CPU 版任意 x86_64 或 arm64 处理器GPU 版NVIDIA 显卡 对应驱动显存需求不固定取决于模型大小PyTorch 本身不额外占用显存只有运行模型时才有占用Python 管理由 Anaconda 自带虚拟环境可指定 Python 3.8 至 3.12 等版本启动方式Anaconda Prompt、PowerShell、终端编辑器内直接选择解释器运行是否支持 API不涉及本文是开发环境搭建是否支持批量任务不涉及本文重点是让本地环境可运行 PyTorch适合场景课程作业、论文复现、算法实验、小型模型训练与测试2. 适用场景与使用边界这套环境最核心的价值是解决“多项目、多依赖、多版本”之间的冲突。比如你要复现一个旧项目它要求 Python 3.8 和 PyTorch 1.13另一个新项目要求 Python 3.10 和 PyTorch 2.x。如果用系统全局 Python 直接装很容易出现依赖库互相覆盖最后哪个项目都跑不起来。用 conda 虚拟环境每个项目一套独立环境互不干扰这是最推荐的实践。从适用场景看适合以下几类人。第一类是刚接触 PyTorch 的学生需要在本地跑通 MNIST、CIFAR 等入门模型第二类是在做论文复现的研究人员需要快速切换不同版本的 PyTorch 和 CUDA第三类是在公司做内部实验的算法工程师需要一套统一、可复制的环境方案并配合 requirements.txt 管理依赖。同时也要明确一些不适合的场景。Anaconda 适合个人开发机和内部测试机不适合直接作为生产环境部署。生产环境通常会用 Docker 镜像锁定 Python、CUDA、PyTorch 版本避免环境漂移。另外如果你的任务目标是训练大规模语言模型或超大视觉模型单机 Anaconda 环境再干净也解决不了算力不足的问题那是分布式训练和 GPU 集群的范畴。使用边界方面要特别提醒合规问题。PyTorch 本身是开源框架可以自由安装使用但如果后续用 PyTorch 加载预训练模型、处理人脸数据、语音数据、版权图片或受保护文本必须确认数据来源合法、模型权重许可允许你的使用方式并对涉及个人隐私的信息做好脱敏处理。环境搭建这一步本身没有风险但环境最终是为模型服务所以数据的合法授权问题从一开始就要放在心上。3. 环境准备与前置条件正式开始前先对照检查一下你的机器是否满足条件。整个安装链路并不复杂但缺一个前置依赖后面排查会花很多时间。系统方面。Windows 最好在 10 以上Windows 7 已经不适合跑新版 Anaconda 和 PyTorch。Linux 建议 Ubuntu 18.04 或更高版本内核太老可能在装新版 CUDA 驱动时遇到障碍。macOS 要注意区分 Intel 芯片和 Apple Silicon安装包类型不同。硬件方面。CPU 版 PyTorch 对硬件几乎没有要求普通笔记本就能跑只是训练速度较慢。GPU 版需要 NVIDIA 独立显卡型号建议 GeForce GTX 10 系以上老卡也能用但新版本 PyTorch 可能逐步放弃对 Kepler、Maxwell 架构的官方支持。AMD 显卡用户需要注意PyTorch 在 Linux 下可以通过 ROCm 获得 GPU 加速但 Windows 下 ROCm 支持有限更稳妥的方案是先使用 CPU 版本跑通代码或者准备一台 NVIDIA 显卡的机器。“AMD 用户装不了 PyTorch”是一个常见误解。准确说法是PyTorch 官网为 AMD 显卡提供的是 ROCm 版本且主要支持 LinuxWindows 下官方支持有限。所以 AMD 用户在 Windows 上最稳的路径是安装 PyTorch CPU 版先把训练流程跑通再考虑在 Linux 上使用 ROCm 加速。磁盘空间方面。Anaconda 本身安装后大约占用 3 到 5 GB每个 PyTorch 虚拟环境又会占用 2 到 5 GB主要取决于你是装 CPU 版还是带 CUDA 的 GPU 版。如果后期还要下载多种模型权重文件建议预留 30 GB 以上空间免得训练中断。网络方面。下载 Anaconda 安装包需要访问官网或镜像站创建 conda 虚拟环境和安装 PyTorch 时需要访问 conda 或 pip 源。如果网络不稳定建议先把默认源切换为国内镜像源后续步骤会快很多。这部分在下一节展开。另外如果你之前已经安装过 Python并且把它加进了系统 PATH注意不要和 Anaconda 冲突。原则是让 Anaconda 管理自己的 Python不要两个同时抢环境变量。最稳妥的做法是要么卸载系统 Python要么安装 Anaconda 时不勾选“Add to PATH”只用 Anaconda Prompt 或编辑器里的解释器列表来使用它。4. Anaconda 下载安装与环境变量配置4.1 下载与安装打开 Anaconda 官网下载页面选择系统对应的版本。Windows 用户要注意Python 3.12 之后的安装包默认不带“Add to PATH”选项安装时需要手动留意如果你不确定保持默认不勾选后面用 Anaconda Prompt。安装过程有几个关键点。第一个安装位置建议保持默认路径不要包含中文和空格。第二个安装类型选择“Just Me”权限问题少。第三个是否勾选 PATH建议不勾选避免和已有 Python 冲突。4.2 验证安装安装完成后打开 Anaconda PromptWindows输入conda --version能看到类似conda 24.x.x的输出说明安装成功。接着查看 Python 版本python --version注意这里看到的 Python 是 Anaconda 自带的 base 环境里的 Python不需要系统单独安装。如果你在 PowerShell 或 CMD 里输入 conda 提示“不是内部或外部命令”说明没有把 Anaconda 加入 PATH。两个解决办法一是以后都用 Anaconda Prompt二是在系统环境变量中手动添加 Anaconda 的三个路径分别是安装目录、安装目录下的Scripts和安装目录下的Library\bin。添加后重新打开终端。4.3 配置国内镜像源如果直接在 conda 默认源下载包速度可能很慢甚至超时。建议切换到国内镜像源例如清华 TUNA 源。执行以下命令conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --set show_channel_urls yes配置完成后可以通过conda config --show channels查看当前源列表。如果以后想恢复默认源conda config --remove-key channels注意pip 也有自己的源配置。PyTorch 安装时如果使用 pip也可以临时指定国内镜像源但 PyTorch 的 CUDA 版本依赖比较特殊建议优先使用 PyTorch 官方给出的安装命令实在下载太慢再考虑镜像。5. 创建 PyTorch CPU 版与 GPU 版双环境5.1 为什么必须拆成两个环境PyTorch 的 CPU 版和 GPU 版互相独立。很多初学者只装了一个 GPU 版换到没有独显的机器上就报错或者只装了 GPU 版但 PyTorch 依赖的 CUDA 版本和本机驱动不匹配导致torch.cuda.is_available()一直返回 False。拆成两个环境后调试代码用 CPU 版正式训练切到 GPU 版逻辑清晰排查更容易。5.2 创建环境并指定 Python 版本打开 Anaconda Prompt 或终端依次输入conda create -n pytorch-cpu python3.10 -y conda create -n pytorch-gpu python3.10 -y名字可以自己定比如pytorch-cpu和pytorch-gpu。Python 版本 3.10 是一个兼容性较好的选择PyTorch 2.x 全系列都支持。如果你有旧项目需要按项目要求换成 3.8 或 3.12命令同样适用。5.3 安装 PyTorch CPU 版激活 CPU 环境conda activate pytorch-cpuPyTorch 官方为 CPU 提供了单独的安装索引。以 PyTorch 2.x 为例通用命令是pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu如果下载速度慢可以加上国内镜像参数但要注意部分镜像同步可能不及时安装失败时优先检查包版本是否存在pip install torch torchvision torchaudio -i https://pypi.tuna.tsinghua.edu.cn/simple安装完成后验证 CPU 版是否可用python -c import torch; print(torch.__version__); print(torch.cuda.is_available())输出中版本号正常、cuda.is_available()为 False就说明 CPU 版安装成功。CPU 版不用关心 CUDA 驱动任何一台能运行 Python 的机器都能装。5.4 安装 PyTorch GPU 版GPU 版安装前先确认两件事显卡驱动是否支持 CUDA以及驱动对应的 CUDA 版本是多少。Windows 下打开终端执行nvidia-smi输出右上角会显示CUDA Version: 12.x这样的信息这是驱动支持的最高 CUDA 版本不等于你已经安装了 CUDA Toolkit。PyTorch 在安装时会捆绑自己需要的 CUDA 运行库所以驱动版本原则上不低于 PyTorch 要求的 CUDA 版本即可。激活 GPU 环境conda activate pytorch-gpuPyTorch 官网会根据当前系统架构生成安装命令。常见写法有两种。使用 CUDA 11.8 的版本pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118使用 CUDA 12.1 或更新版本的写法类似只需要把索引尾部的cu118换成对应的 CUDA 版本标识。这里要特别说明不要盲目追求最新 CUDA 版本优先参考两个东西一是本机 NVIDIA 驱动支持的 CUDA 版本二是你复现的旧项目对 PyTorch 版本的依赖。如果驱动较旧选 CUDA 11.8 更稳妥。安装完成后在 GPU 环境下验证python -c import torch; print(torch.__version__); print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0))理想输出是版本号显示2.x.xcu118cuda.is_available()为 True并且打印出你的显卡名称。如果cuda.is_available()为 False大概率是驱动版本、PyTorch 的 CUDA 版本、显卡架构三者之一不匹配排查方法见第 9 节。5.5 双环境的日常管理以后打开终端需要进入哪个环境就用哪个命令conda activate pytorch-cpu conda activate pytorch-gpu退出当前环境conda deactivate查看现有环境列表conda env list删除不需要的环境conda remove -n pytorch-gpu --all环境之间完全隔离各自安装的包互不影响。这就是 conda 最实用的价值。6. 编辑器配置PyCharm 与 VS Code6.1 编译器和编辑器的区别展开配置前先说清楚一个基础概念。经常有新手问“编辑器和编译器有什么区别”。简单说编辑器是你写代码的软件比如 VS Code、PyCharm、Vim、Notepad它负责文本编辑和语法高亮编译器或解释器是执行代码的程序比如 Python 解释器负责把.py文件翻译成机器能执行的指令C 编译器负责把.cpp编译成可执行文件。Python 严格来说是解释执行的语言所以用 PyCharm 或 VS Code 写代码时必须手动指定使用哪一个 Python 解释器。你看到的“配置 Anaconda 环境”本质就是把编辑器里默认的解释器指向 conda 创建的某个虚拟环境里的 Python。这个区别弄清楚之后配置过程就不会懵了conda 负责创建解释器环境编辑器负责调用这个解释器。6.2 PyCharm 配置 Anaconda 虚拟环境打开 PyCharm创建新项目后点击右下角的 Python Interpreter 或者进入File - Settings - Project - Python Interpreter。点击解释器下拉框旁边的齿轮选择Add Interpreter - Add Local Interpreter。在弹出的窗口里选择Conda Environment - Existing environment然后在列表中选择你刚才创建的pytorch-gpu环境。PyCharm 会自动定位到该环境下的 Python 解释器确认后应用。验证方式在项目里新建一个test.py随意写一行import torch print(torch.__version__)点击运行如果能正常输出 torch 版本号说明解释器配置成功。如果提示ModuleNotFoundError: No module named torch说明解释器选错了环境重新检查。6.3 VS Code 配置 Anaconda 虚拟环境VS Code 的配置更轻量。先安装官方 Python 扩展。然后按Ctrl Shift P打开命令面板输入Python: Select Interpreter选择你创建的pytorch-gpu环境。如果列表里没有点击 “Enter interpreter path”手动定位到 Anaconda 安装目录下的envs\pytorch-gpu\python.exe。配置完成后VS Code 底部状态栏会显示当前解释器名称。打开终端VS Code 会自动激活这个 conda 环境终端前缀会出现(pytorch-gpu)。6.4 Markdown 编辑器与文档协作除了代码编辑器深度学习项目还需要写实验记录和项目文档。PyCharm 和 VS Code 都内置了 Markdown 预览插件可以直接把实验笔记、模型说明写成.md文件。对于记录超参数、数据预处理步骤、模型结构这类内容Markdown 比 Word 更清晰也便于提交到 GitHub 仓库。如果你经常写博客或维护项目 README一个顺手的 Markdown 编辑器同样值得装主流选择有 Typora、Obsidian 或 VS Code 内置预览。7. 第一段 PyTorch 训练代码验证环境配好、编辑器选好解释器之后跑一段完整的小代码确认 CPU 版和 GPU 版都能正常工作。7.1 CPU 版测试脚本在pytorch-cpu环境下运行import torch # 创建两个张量并计算 x torch.randn(3, 3) y torch.randn(3, 3) z torch.matmul(x, y) print(torch version:, torch.__version__) print(CUDA available:, torch.cuda.is_available()) print(z shape:, z.shape)预期输出中CUDA available为 False张量计算正常。这验证了 CPU 推理链路。7.2 GPU 版测试脚本在pytorch-gpu环境下运行import torch # 检查 GPU 是否可用 if torch.cuda.is_available(): device torch.device(cuda) print(Using GPU:, torch.cuda.get_device_name(0)) else: device torch.device(cpu) print(CUDA not available, using CPU) # 将张量放到 GPU 上计算 x torch.randn(3, 3).to(device) y torch.randn(3, 3).to(device) z torch.matmul(x, y) print(Result shape:, z.shape) print(Result device:, z.device)预期输出中Using GPU显示你的显卡名称Result device为cuda:0说明数据已经成功放到显卡上参与计算。如果第一次安装这一步通过基本可以确定环境没有大问题。7.3 一个可运行的迷你训练流程为了进一步确认训练链路可以跑一个 20 轮的线性回归小例子。这个代码本身没有实际应用价值主要用来验证 GPU 上的张量计算、损失函数和反向传播是否正常import torch import torch.nn as nn device torch.device(cuda if torch.cuda.is_available() else cpu) model nn.Linear(8, 1).to(device) loss_fn nn.MSELoss() optimizer torch.optim.SGD(model.parameters(), lr0.01) x torch.randn(64, 8).to(device) y torch.randn(64, 1).to(device) for epoch in range(20): pred model(x) loss loss_fn(pred, y) optimizer.zero_grad() loss.backward() optimizer.step() if (epoch 1) % 5 0: print(fepoch {epoch 1}, loss: {loss.item():.4f})如果能在 GPU 环境下正常迭代并输出 loss说明 PyTorch 的双向传播链路没有问题。这个测试很小运行过程会在几秒内结束适合作为环境配置完成的验收脚本。8. GPU 显存占用与性能观察方法8.1 如何查看显存占用训练代码运行时最直观的观察方法是nvidia-smi。Windows 用户在终端输入nvidia-smi输出表格中的第一行会列出所有 NVIDIA GPU下方的“Memory-Usage”列显示显存占用。如果训练代码在运行nvidia-smi里会看到一个 Python 进程占用几百 MB 到几 GB 不等的显存。如果你不想一直盯着终端可以用nvidia-smi -l 1这条命令每秒刷新一次方便观察训练过程中显存变化。Linux 下也可以用watch -n 1 nvidia-smi。Windows 下任务管理器切换到“性能”选项卡也可以看到 GPU 的“专用 GPU 内存”占用。但任务管理器不会显示进程级别的显存占用排查谁占满了显存还是nvidia-smi更方便。8.2 影响显存占用的关键参数训练一个模型显存占用并非固定值而是由几个参数共同决定。第一是模型本身的大小模型参数量越大权重和梯度占用的显存越多。第二是批量大小 batch size批量从 16 增加到 32激活值缓存几乎翻倍。第三是输入分辨率或序列长度输入越大中间特征图越大显存占用越高。第四是是否开启混合精度开启 AMP 后部分计算使用半精度显存占用和显存带宽压力都会明显降低。如果训练时遇到CUDA out of memory按照以下顺序调整先把 batch size 降低到 1再尝试降低输入分辨率然后开启torch.cuda.amp.autocast()混合精度最后再考虑换一个显存更大的显卡。不要一上来就换环境或重装 PyTorch显存不足不是安装问题。8.3 CPU 推理和 GPU 推理的差异CPU 环境下PyTorch 能跑但速度比 GPU 慢很多。对于卷积神经网络和 Transformer 这类并行度高的模型GPU 优势尤其明显。CPU 版环境的价值不是追求速度而是保证你能在本地“先跑通”再在有 GPU 的机器上“跑得快”。同一套代码在 CPU 环境和 GPU 环境之间切换只需要修改设备选择逻辑一般就是torch.device(cuda if torch.cuda.is_available() else cpu)这一行。9. 常见问题与排查方法问题现象可能原因排查方式解决方案conda 命令找不到Anaconda 未加入 PATH 或未使用 Anaconda Prompt终端输入conda --version使用 Anaconda Prompt 启动或手动配置 PATH创建虚拟环境时提示UnavailableInvalidChannelconda 的 channel 源配置错误或源服务器同步异常执行conda config --show channels删除错误源并重新添加镜像源必要时删除.condarc中无效 channel 后重试pip 安装 PyTorch 报版本找不到指定了不存在的 CUDA 索引或 Python 版本过旧查看安装命令中的索引后缀和 Python 版本去 PyTorch 官网核对当前支持的 Python 版本和 CUDA 版本torch.cuda.is_available()返回 False驱动过旧、PyTorch CUDA 版本与驱动不匹配、显卡不支持执行nvidia-smi查看驱动 CUDA 版本更新 NVIDIA 驱动选择与驱动兼容的 PyTorch CUDA 版本导入 torch 后 Python 崩溃或异常退出Python 版本与 PyTorch 不兼容或 CPU 指令集不支持检查 Python 版本和 torch 版本重装适合当前 Python 版本的 PyTorchPyCharm 找不到 conda 环境Anaconda 安装路径特殊PyCharm 未自动识别在解释器设置中手动添加路径选择Add Local Interpreter手动浏览到envs目录下的python.exeVS Code 终端没有自动激活 conda 环境Python 扩展未识别 conda按Ctrl Shift P执行Python: Select Interpreter手动指定 Anaconda 环境中的 Python 解释器安装后 torchvision 与 torch 版本不匹配手动安装时版本组合不一致用pip list查看版本同时安装torchtorchvisiontorchaudio不要分开装不同来源训练时爆显存batch size 过大或输入分辨率过高观察nvidia-smi显存占用降低 batch size降低分辨率开启混合精度conda 环境里执行 pip 却装到了系统 Python终端未激活 conda 环境终端前缀是否显示(pytorch-gpu)执行conda activate pytorch-gpu后再安装10. 最佳实践与使用建议环境配好只是第一步长期使用中养成好习惯可以省下大量排查时间。第一环境命名要有规律。推荐格式是“框架名 用途”比如pytorch-cpu、pytorch-gpu、tf-gpu。不要起test1、newenv这种名字三个月后再看你自己都分不清。第二给每个项目单独创建环境。一个环境对应一个项目或一篇论文复现不要把十几个项目的依赖混在一个环境里。项目结束时执行conda env export导出环境方便以后复现。第三项目依赖用requirements.txt管理。在项目根目录执行pip freeze requirements.txt换机器后安装pip install -r requirements.txt注意pip freeze会把环境里所有包都导出来其中可能包含和项目无关的包。更精细的做法是手动维护requirements.txt只写直接依赖的包并标注版本。第四不要轻易改动 base 环境。Anaconda 自带的基础环境用于 conda 自身运行如果删了或改乱了可能导致conda本身无法使用。日常操作都放在独立虚拟环境里。第五模型文件和数据集的目录管理要提前规划。建议按data/、models/、results/、logs/分目录存放。不要把所有东西都堆在工作目录下否则模型调试和结果对比都会很痛苦。第六使用端口的实验项目要固定端口规则。PyTorch 本身不依赖端口但常用配套工具有TensorBoard 默认 6006Jupyter 默认 8888。如果你同时跑多个服务注意避免端口冲突。第七数据合规和模型授权需要时刻注意。环境本身没有合规问题但当你下载预训练权重、使用公开数据集、处理别人提供的人脸或语音素材时必须先确认获得合法授权。论文复现时要查看开源许可证企业项目中尤其要避免直接使用未经授权的数据和权重。11. 总结与下一步这套流程真正值得记住的核心不是某一条具体命令而是“隔离 明确版本”这个环境管理思想。Anaconda 提供隔离能力PyTorch 按 CPU/GPU 双版本拆开避免互相干扰编辑器负责选择正确的解释器。只要你把这三层的关系理清以后不管换什么项目、什么框架都能快速搭出干净可复用的环境。最容易踩的坑有两个一是 conda 和系统 Python 的 PATH 冲突解决办法是优先使用 Anaconda Prompt或者把解释器路径交给编辑器管理二是 GPU 环境装完torch.cuda.is_available()仍然返回 False这种情况下不要先怀疑安装命令先执行nvidia-smi看驱动版本驱动不兼容时重装 PyTorch 多少次都没有用。建议你完成安装后优先验证三件事CPU 版环境能否正常做张量计算GPU 版环境能否让torch.cuda.is_available()返回 TruePyCharm 或 VS Code 能否选对解释器并跑通第一段训练代码。这三件事全部通过你的本地深度学习开发环境就算真正落地了。下一步可以直接进入 PyTorch 实战从 MNIST 手写数字分类开始跑通第一个卷积神经网络然后可以尝试在 GPU 上训练一个更小的 ResNet 或 Vision Transformer理解数据加载、模型定义、训练循环和评估流程是怎么协同工作的。配环境只是起点后面真正有价值的是你跑起来的每一行训练代码和每一次实验记录。