☰
PyTorch安装环境配置指南:Anaconda虚拟环境与VS Code解释器切换
2026/10/7 16:10:00 网站建设 项目流程

其实安装 PyTorch 这件事,最让人头疼的往往不是 PyTorch 本身,而是环境。我见过不少人兴冲冲跑到 VS Code 里敲pip install torch,等了大半天装完,结果一运行就报ModuleNotFoundError,或者torch.cuda.is_available()一直返回 False,甚至卡在第一步——终端里输conda activate,结果提示“无法将‘conda’项识别为 cmdlet、函数、脚本文件或可运行程序的名称”。

这个标题看起来只有“VS Code”和“PyTorch”两个词,背后其实是一整套环境联动问题。这篇就按我实际走过的路子,把 Anaconda 安装、虚拟环境创建、PyTorch 选择 CPU 还是 CUDA 版本、VS Code 解释器切换,以及最常见的那几个报错,一次讲透。不管你是刚接触深度学习的小白,还是被环境折腾过几次的老手,照着下面的顺序走一遍,基本能把环境问题一次性清干净。

1. 先理清思路:为什么“装个 PyTorch”经常翻车

1.1 PyTorch 不是一个普通的 Python 包

PyTorch 跟普通的 Python 库不太一样。装一个requests或者numpy,本质上就是下载一个.whl文件放进 site-packages,但 PyTorch 带了一堆底层二进制依赖,尤其是跟 CUDA 绑定的部分,涉及显卡驱动、CUDA 运行时库、cuDNN 这些层层叠叠的组件。所以安装 PyTorch 不是在“装一个包”,而是在“配一套环境”。

这套环境里,最容易出问题的环节有三个:

  • Python 解释器和虚拟环境的管理——这里通常靠 Anaconda 或者 venv 来解决;
  • PyTorch 包本身的选择——选 CPU 版还是 CUDA 版,选哪个 CUDA 版本;
  • 编辑器里的解释器指向——VS Code 里选的解释器到底是不是你装了 PyTorch 的那一个。

这三层任何一层对不上,结果都一样:import torch要么直接报错,要么好不容易导入了,GPU 却不工作。

1.2 安装链路里最常见的三个卡点

结合我看到的搜索记录,大多数人翻车都集中在三个地方。

第一个卡点是 conda 命令根本不识别。很多人装完 Anaconda 后在 PowerShell 里敲conda,系统直接回一句“无法将‘conda’项识别”。这背后的原因很直白——安装 Anaconda 时没有把 conda 的可执行文件路径加到系统环境的 PATH 里,或者安装之后没有重开终端。

第二个卡点是 CUDA 和 PyTorch 版本对不上。有些人根据网上教程直接装了一个 CUDA 12.1 的 PyTorch,结果自己电脑上的驱动只支持到 CUDA 11.8,跑起来直接报错。或者反过来,显卡驱动很新,但 PyTorch 版本太旧,导致torch.cuda.is_available()一直返回 False。

第三个卡点是下载太慢或装错版本。官方源在国内的下载速度经常让人崩溃,有人就去镜像站随便装了一个 torch,结果装回来才发现是 CPU 版,或者跟 Python 版本不兼容。

这些坑,本质上都可以通过“先规划、再动手”来避开。

1.3 我建议的安装顺序

基于前面说的三个卡点,我建议的安装顺序是固定的,不要跳步:

  1. 装好 Anaconda,让 conda 命令可用;
  2. 用 conda 创建一个全新的虚拟环境,并把 Python 版本固定下来;
  3. 根据显卡情况选择对应 CUDA 版本的 PyTorch 安装命令;
  4. 回到 VS Code,把解释器切到这个新建的环境,写代码跑一遍验证。

这个顺序看起来没什么技术含量,但真的能解决绝大多数“安装失败”和“装完用不了”的问题。下面是每一步的具体操作。

2. 先把 Anaconda 装到位,别为了省事直接裸装 Python

2.1 为什么我推荐 Anaconda

经常有新手问:我已经装了 Python,直接pip install torch不就行了吗?为什么要多装一个 Anaconda?

我的回答是:裸装 Python 不是不行,但你后面一定会被环境问题反复折磨。深度学习项目对 Python 版本和依赖库的敏感度非常高,你今天为 PyTorch 装了几个包,明天可能又因为 TensorFlow 或者 ONNX 导出需要另一个版本,到时候两个项目互相抢依赖,能把人折腾疯。

Anaconda 自带 conda 这个环境管理工具,你可以随时创建一套相互隔离的“小环境”。一个项目一个环境,互不干扰。装 PyTorch 的时候我一律建议用 conda 单独建一个环境来装,而不是直接装到 base 或者系统 Python 里。

2.2 下载与安装时的关键选项

去 Anaconda 官网下载安装包时,注意两个地方。

一是下载版本。官网默认展示的可能是最新版本,页面下方通常有 Installers 区域,里面有 Windows、macOS、Linux 三种系统的安装包。Windows 用户选 64-Bit Graphical Installer 就行。

二是安装过程中的勾选项。这一步非常关键,直接关系到最开始提到的“conda 无法识别”问题。安装向导进行到 “Advanced Installation Options” 这一步时,会有一个选项叫做“Add Anaconda3 to my PATH environment variable”,建议勾上它。勾选后,conda 的命令会被自动写入 PATH,之后在 VS Code 的终端里直接敲conda就能识别。

提示:如果不小心忘了勾,后面其实也有补救办法,我在第 6 章排查部分会专门讲怎么手动加 PATH。但能省的事就别等到后面再补,建议一步到位。

2.3 安装后验证 conda 是否可用

安装完成后,一定要重启一下终端(或者 VS Code 窗口),因为 PATH 环境变量的生效需要新开终端。然后执行:

conda --version

如果输出类似conda 24.x.x,说明 conda 已经可以正常使用了。这一步不要省略,因为很多人装完直接开着旧的终端用,conda 同样不识别。

与此同时,可以把 VS Code 也提前装好。官方安装包直接下载安装即可,默认设置就够用。后面所有操作都在 VS Code 的终端里执行,记住这一点,不用再另外打开 Anaconda Prompt。

3. 创建独立的 PyTorch 虚拟环境:核心原因和完整命令

3.1 为什么要新建环境,而不是直接装进 base

我见过很多人图省事,直接在 conda 的 base 环境里装 PyTorch。短期看的确快,但后患不小。

conda 的 base 环境是 Anaconda 自带的基础环境,里面已经有一堆预装包。你往里塞深度学习框架很容易把依赖关系弄乱。而 PyTorch 对 Python 版本又有硬性要求,比如某个版本要求 Python 3.8 到 3.11,如果你的 base 里恰好是 3.12,装的时候就会出兼容性问题。

所以我强烈建议单独建一个环境,名字可以就叫pytorch。这样你以后写 L2 正则化实验、加载 CIFAR-10、把模型转成 ONNX 导出,都在这个环境里做,稳得很。

3.2 创建环境的完整命令

打开 VS Code 的终端(快捷键Ctrl+`),确认提示符能正常识别 conda 之后,执行:

conda create -n pytorch python=3.10 -y

我来解释一下这条命令的含义:

  • create表示创建一个新环境;
  • -n pytorch是给这个环境命名为 pytorch;
  • python=3.10是指定环境的 Python 版本为 3.10。目前 PyTorch 对新版本 Python 的适配已经做得很好,3.10 是兼容性最稳的选择,不建议直接上 3.12,除非你确认当前 PyTorch 版本已经完整支持;
  • -y是跳过安装确认提示,直接执行。

等待 conda 下载并配置好基础环境,看到done字样后,执行:

conda activate pytorch

激活成功后,命令行提示符前面会出现(pytorch)字样。看到这个括号里的环境名,就说明你已经进入了 pytorch 这个虚拟环境。后面所有 PyTorch 相关的安装命令,都必须在这个状态下执行。

3.3 确认 Python 版本无误

进入环境后顺手验证一下 Python 版本:

python --version

如果输出Python 3.10.x,就可以进入下一步了。这一步的意义在于:确保你之后安装的 PyTorch 包跟当前 Python 版本兼容,避免装到一半发现大版本不匹配。

4. 装 PyTorch 时,怎么判断该选 CPU 还是 CUDA 版本

4.1 先看你有没有 NVIDIA 显卡

这一步是整个安装流程的分岔口。记住一个原则:有 NVIDIA 独立显卡,就装 CUDA 版本;没有 NVIDIA 显卡,就装 CPU 版本。

如果你不确定自己的显卡型号,可以在 Windows 的任务管理器里点“性能”页签,左边看有没有“GPU”项,右边看 GPU 名称。如果显示的是 NVIDIA GeForce、NVIDIA RTX 之类的型号,那就可以走 CUDA 路线。如果显示的是 Intel UHD Graphics、AMD Radeon 或者 Apple Silicon 的 M 系列芯片,那老老实实装 CPU 版本。

4.2 查显卡驱动支持的 CUDA 版本

有 NVIDIA 显卡的话,还需要确认显卡驱动支持的 CUDA 版本。打开一个新的终端,执行:

nvidia-smi

输出内容右上角有一行 “CUDA Version: 12.4”,这表示你的显卡驱动最高支持到 CUDA 12.4。这里有个容易误解的地方——这个值代表你安装的 NVIDIA 驱动能向下兼容的最高 CUDA 版本,不是你系统里已经装了 CUDA 工具包。也就是说,驱动支持 CUDA 12.4,不代表你必须装 12.4,你可以装更低一点的版本,比如 12.1,完全兼容。

官方给出的 PyTorch 安装命令里,目前常用的 CUDA 版本有 11.8、12.1、12.4、12.8 等。原则很简单:选择小于等于你驱动支持版本的 CUDA 即可。比如nvidia-smi显示 12.4,那你选 12.1 或 12.4 都可以;如果显示的是 11.8,那就老老实实选 11.8 的安装命令,别硬上 12.x。

注意:很多人会混淆两个概念——nvidia-smi显示的 CUDA 版本和系统里实际安装的 CUDA Toolkit 版本。实际安装 PyTorch 时,我们不需要单独去 NVIDIA 官网下载安装 CUDA Toolkit,PyTorch 的 wheel 包里已经自带了一套运行所需的 CUDA 动态库。驱动支持到位就足够了。

4.3 CUDA 版本的安装命令

确认好驱动支持的 CUDA 版本后,清洗官方页面或使用官方源安装。以最新的 PyTorch 2.x 为例,如果走 pip 路线,在(pytorch)环境下执行:

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

把命令尾部cu121换成你选定的 CUDA 版本即可。比如需要 12.4,就改成cu124。

如果走 conda 路线,命令是这样的:

conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia

这条命令会从 PyTorch 官方 conda 频道和 NVIDIA 频道分别拉取包。我给的建议是:能用 pip 就用 pip,因为 conda 频道经常在依赖解析上耗很久,而且 PyTorch 官方对 pip wheel 的更新通常更及时。

4.4 CPU 版本的安装命令

没有 NVIDIA 显卡,或者电脑是 Mac、普通办公本,直接装 CPU 版本就够了。CPU 版本同样能完成绝大多数深度学习实验,只是训练速度明显更慢。

CPU 版的 pip 安装命令是:

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu

国内用户如果从官方源下载速度太慢,可以在命令里配上国内镜像源,这一点我在下面会单独讲。

5. 在 VS Code 里把 PyTorch 环境真正用起来

5.1 安装完成后的必要验证

安装过程可能持续几分钟到几十分钟,取决于网络和包大小。装完之后,不要急着写模型,先在终端里做一次最小化验证:

python -c "import torch; print(torch.__version__); print(torch.cuda.is_available())"

如果你装的是 CUDA 版本,并且一切正常,会看到类似下面的输出:

2.1.2+cu121 True

第一行是 PyTorch 版本号,第二行的True表示 CUDA 可用。如果输出False,说明 PyTorch 没有能正常调用显卡,原因大概率是前面说的 CUDA 版本不匹配,解决方案见第 6 章。

如果你装的是 CPU 版本,torch.cuda.is_available()返回False是正常的,不用慌。

5.2 切换 VS Code 解释器

这一步是很多人忽略的关键。终端里torch导入正常,不代表 VS Code 里新建的.py文件能正常import torch,因为 VS Code 里运行的 Python 解释器可能还是你系统里原来的 Python。

解决方法很简单。在 VS Code 中按Ctrl+Shift+P打开命令面板,输入Python: Select Interpreter,回车,在弹出的列表里找到pytorch这个环境(通常路径类似C:\Users\你的用户名\anaconda3\envs\pytorch\python.exe),选中它。

选完之后,VS Code 右下角状态栏会显示当前解释器是pytorch环境下的 Python。这样你在 VS Code 里直接运行代码文件时,用的就是装了 PyTorch 的解释器了。

5.3 新建文件,跑一个最简单的 PyTorch 程序

解释器切好之后,新建一个文件test.py,写上:

import torch x = torch.randn(3, 3) print(x) print("CUDA available:", torch.cuda.is_available())

右键文件选择“在终端中运行 Python 文件”,或者按编辑器右上角的运行按钮。输出正常的话,说明整条链路已经通了。

这也是一段非常好的基础测试代码。torch.randn会生成一个 3x3 的张量,可以验证 PyTorch 的张量计算是否正常,同时torch.cuda.is_available()会确认 GPU 是否可用。

5.4 顺手配置好代码智能提示

VS Code 里安装一个官方扩展,用起来会更顺手。在扩展商店搜索:

  • Python(微软官方,必须装)
  • Pylance(配合 Python 扩展做代码补全和类型检查)

装完之后,在test.py里敲torch.的时候,会出现方法补全提示。这对后面写各种深度学习代码、手写 L2 正则化、搭建 ResNet18 之类的模型时都有很大帮助。

6. 安装过程中常见的三个报错,以及完整的排查思路

6.1 报错一:conda activate 提示“无法将‘conda’项识别”

这是我在开头提到过的典型症状,完整报错一般是:

conda : 无法将“conda”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,或验证路径是否正确。

导致这个报错的原因只有一个:conda 的可执行文件不在系统 PATH 里。

解决办法有两种。第一种最省事,回到 Anaconda 安装包重新跑一遍安装向导,在 “Advanced Installation Options” 那里把 “Add Anaconda3 to my PATH environment variable” 勾上。装完后重启终端,conda 就能识别了。

第二种是手动加 PATH,不想重新安装的就用这个。按Win键,搜索“编辑系统环境变量”,打开后点“环境变量”,在“系统变量”里找到Path这一项,点击编辑,新增三行路径:

C:\Users\你的用户名\anaconda3 C:\Users\你的用户名\anaconda3\Scripts C:\Users\你的用户名\anaconda3\Library\bin

注意把“你的用户名”替换成你的实际用户名。保存后重启终端,再执行conda --version验证。

还有一个细节:如果是通过 VS Code 的终端操作,改了 PATH 之后,一定要完全关闭 VS Code 再重新打开,因为编辑器会缓存环境变量。

6.2 报错二:torch.cuda.is_available() 返回 False

这种情况最折磨人:PyTorch 装上了,张量计算也正常,但就是检测不到显卡。

按下面的顺序排查:

第一步,先确认你装的是不是 CUDA 版本。在终端里执行:

python -c "import torch; print(torch.__version__)"

如果版本号末尾带有+cu121、+cu124这类标记,说明装的是带 CUDA 的版本。如果末尾是+cpu,说明装的就是 CPU 版,返回 False 太正常了。

第二步,确认驱动支持版本是否满足要求。执行nvidia-smi看右上角的 CUDA Version,然后对照你安装的 PyTorch 对应的 CUDA 版本。如果不匹配,就得重装。

重装方式:先彻底卸载当前版本:

pip uninstall torch torchvision torchaudio -y

然后按第 4 章的对应命令重新安装。

第三步,检查是不是显卡驱动本身有问题。在设备管理器的“显示适配器”里看 NVIDIA 设备是否正常,如果有黄色感叹号,需要重装显卡驱动。

6.3 报错三:下载太慢,或者镜像源装出来的 torch 不完整

官方源下载 PyTorch 在国内速度确实不稳定,尤其是几个 GB 的 wheel 包,等半天是常事。换国内镜像源是最直接的办法。

pip 命令里加镜像源,如下:

pip install torch torchvision torchaudio -i https://pypi.tuna.tsinghua.edu.cn/simple

这里要注意一个坑:通过通用 PyPI 镜像安装 PyTorch,拿到的可能是默认版本,不一定是官方安装命令里指定的 CUDA 专用版本。如果你要精确匹配 CUDA 版本,我更推荐这样操作:先启用镜像源,再从官方指定 index 地址安装。

一个比较实用的方案是,把下载源临时切到清华镜像,然后使用老版本的安装命令:

pip install torch torchvision torchaudio -i https://pypi.tuna.tsinghua.edu.cn/simple --extra-index-url https://download.pytorch.org/whl/cu121

这样 PyTorch 相关包会优先从官方 CUDA 专用源拉取,其他依赖走清华镜像,兼顾速度和版本准确性。不过这个操作对普通用户来说稍微复杂一点,如果你只是想快速跑通 CPU 版,直接用清华镜像装默认 torch 就行。

6.4 依赖冲突的处理思路

在(pytorch)环境里单独安装通常不会出现依赖冲突,但偶尔会有提示某个已安装的包版本不兼容。这种情况下不要盲目去降级其他包,先看清楚冲突的是哪个。

最常见的冲突对象是 numpy。有些深度学习库要求 numpy 版本必须低于某个值,而 PyTorch 官方 wheel 可能自动升到了高版本。处理方式是:

pip install "numpy<2"

强制装到 1.x 版本。遇到其他依赖冲突,也可以用固定版本号的方式限制。

如果环境已经乱到无法收拾,我给出的最终手段是把环境删了重建,速度反而比排查依赖要快得多:

conda deactivate conda remove -n pytorch --all conda create -n pytorch python=3.10 -y

这个习惯也是我一直在用的——虚拟环境的好处就在这里,坏了就重建,反正装 PyTorch 整套流程跑下来也就一二十分钟,比在一个脏环境里排查半天依赖高效得多。


我在实际安装中体会最深的一点就是:不要急着敲安装命令,先把环境规划清楚。只要 Anaconda 装到位、虚拟环境单独建好、CUDA 版本确认无误、VS Code 解释器切换正确,这四个关键节点守住,后面的深度学习之路会顺畅很多。如果你卡在某个环节,优先检查环境归属——终端里是不是(pytorch)状态、VS Code 解释器是不是指向 pytorch 环境、torch.__version__后缀是不是你想要的 CUDA 版本。这三个地方对上了,环境基本就稳了。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询