☰
Windows下PyTorch安装实战:虚拟环境、国内镜像与PyCharm配置
2026/10/16 2:56:17 网站建设 项目流程

1. 写在前面:Windows 下装 PyTorch 这件事,其实没你想的那么折腾

如果你在 Windows 上装过 PyTorch,大概率经历过这种画面:打开官方推荐的那条安装命令,复制粘贴,回车,然后盯着终端进度条一分钟都不带动的。等了几分钟,要么直接超时失败,要么下载到一半断掉,要么好不容易装完了,进 PyCharm 一跑import torch,红字报错直接把人看懵。

我刚开始接触深度学习那会儿也被这套流程劝退过好几次。后来折腾得多了,才慢慢摸清楚问题其实出在三个地方:Python 环境不干净、下载源没选对、PyCharm 解释器和虚拟环境没配对。这三个问题一旦解决,整套流程十分钟之内就能跑通,后续写代码、训练小模型也顺得不行。

这篇教程就是围绕这三件事来说的。我会带你从零开始,在 Windows 上完成 PyTorch 的安装,全程使用国内镜像加速,再把 PyCharm 的环境配置到能直接跑通代码的程度。整个流程适合刚入门深度学习、想在本地跑神经网络实验的同学,也适合那些之前装过但老是出问题的朋友,照着走一遍基本能清零大部分常见的坑。

在开始之前先打个预防针:PyTorch 的安装逻辑本身并不复杂,复杂的是很多人连第一步都没搞清就急着复制命令。所以下面我会先把关键点拆开讲,再给你一条可以直接照着做的完整命令流程。你不需要懂太多底层机制,但多理解一点原理,出问题时自己也能判断个大概。

2. 装之前必须搞清楚的三件事

2.1 先装 Python,别上来就装 PyTorch

很多人第一次装 PyTorch 失败,是因为压根没装 Python,或者系统里同时存在好几个 Python 版本,导致 pip 不知道该装到哪个环境里去。

PyTorch 本身是 Python 的一个第三方库,它依赖 Python 的包管理工具 pip 来安装。所以正确的顺序是:先装 Python,再创建虚拟环境,最后在虚拟环境里安装 PyTorch。这个顺序不能乱。

Windows 下的 Python 安装比较简单,直接到官网下载 Windows 安装包即可。需要注意的是,安装时务必勾选"Add Python to PATH"这一项,否则后面在命令行里敲python会提示找不到命令。安装完成后,打开命令提示符(Win + R 输入 cmd),输入python --version,能正常输出版本号就说明基础环境没问题。

如果你以前装过 Python 但版本比较老,建议尽量用 3.9 及以上版本。PyTorch 对老版本 Python 的兼容性虽然还在,但部分新功能和新预编译包的依赖要求会偏高,用新版本省事很多。

2.2 理解"国内镜像"到底解决的是什么问题

所谓"国内镜像",本质上就是把默认的海外软件仓库内容同步一份到国内服务器上。你下载 PyTorch 时,pip 默认访问的是官方源(也就是海外的源站),跨海下载速度非常不稳定,尤其在高峰期,几十 MB 的包也可能拖成几十分钟。

换用国内镜像后,你的请求会直接打到延迟很低的本地服务器上,速度提升是肉眼可见的。通常在 Windows 下用清华源或阿里源,几十到几百 MB 的安装包都能在几分钟内拉完,有些甚至几秒钟就能搞定。

需要说明的是,"国内镜像"和网络加速是两码事,它只解决软件下载渠道的物理距离问题,不解决任何其他联网问题。也就是说,你只要能把 pip 的下载源切到国内镜像上,安装速度的问题就解决了一大半。

2.3 选版本:CPU 版还是 GPU 版

这是新手最容易迷糊的地方。其实 PyTorch 分两种预编译版本:CPU 版和 GPU 版(也就是 CUDA 版)。CPU 版不依赖独立显卡,任何电脑都能跑,但训练速度慢;GPU 版需要你的电脑有 NVIDIA 显卡,并且要安装匹配的显卡驱动和 CUDA 工具包。

如果你只是学习代码逻辑、跑一些轻量级实验,CPU 版完全够用。如果你的电脑有 NVIDIA 显卡,并且后续要训练稍微大一点的模型,那么装 GPU 版会明显更快。

多数情况下,本地开发环境我建议分开管理:日常写代码验证逻辑用 CPU 版,跑真正的训练任务再切换到 GPU 版。虚拟环境可以让它们共存而不互相干扰,后面我会详细说怎么做。

> 注意:如果你拿不准自己该装哪种,先查一下显卡型号。在任务管理器"性能"标签里能看到 GPU 名称,如果里面有 NVIDIA 字样,才需要考虑 CUDA 版;如果是 Intel 核显或 AMD 显卡,直接装 CPU 版就行。

3. 实操全过程:从空环境到跑通 PyTorch

3.1 创建干净的虚拟环境

我强烈建议你无论装什么 Python 包,都先建一个独立虚拟环境。虚拟环境就像给项目单独划出一个小隔间,里面装的包互不影响,也不会污染全局环境。

打开命令提示符,执行以下命令创建一个名为torch_env的虚拟环境:

python -m venv torch_env

创建完成后,激活这个环境:

torch_env\Scripts\activate

激活成功后,命令行最前面会出现(torch_env)的提示,这就表示你现在已经处于虚拟环境中了。后续所有安装操作都基于这个环境进行。

3.2 把 pip 切换成国内镜像

切镜像有两种方式:临时指定和永久写入配置。临时指定就是在安装命令里加-i https://pypi.tuna.tsinghua.edu.cn/simple,只影响当前这一条命令。永久配置则是把镜像源写进 pip 的配置文件里,以后每次用 pip 自动走镜像,不用每次输一长串。

如果你是新手,我更推荐直接永久配置。执行下面这条命令,pip 就会把清华源写进用户级配置文件:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

配置完成后,可以用pip config list检查一下镜像源是否生效。以后你在这个环境里执行任何 pip 安装命令,都会自动从清华源拉文件,速度会稳定很多。

3.3 安装 PyTorch:CPU 版与 GPU 版命令详解

镜像配好后,安装 PyTorch 本身就是一条命令的事。

CPU 版安装命令:

pip install torch torchvision torchaudio

这条命令会安装三个核心包:torch 是主框架,torchvision 是图像处理相关的工具箱,torchaudio 是音频处理相关的工具箱。对绝大多数视觉、文本任务来说,这三个包一次装齐就够了。

GPU 版安装命令:

这里有个容易踩坑的点。如果你直接用上面的命令装 GPU 版,默认装的是 CPU 版,因为 pip 默认会优先匹配你本机兼容的版本。要装 GPU 版,需要指定 CUDA 版本对应的安装源和标签。

以 CUDA 11.8 为例,命令是:

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

这个命令会从 PyTorch 官方预编译仓库拉取 CUDA 11.8 对应的所有包。缺点是这个地址本身在海外,下载速度可能不理想。这时候需要把下载源和解析索引分开处理:

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

不过实际测试下来,更省事的方法是直接用镜像站同步的 PyTorch 轮子包。你可以把上面的命令替换成国内镜像对应的 wheel 地址:

pip install torch==2.0.1+cu118 torchvision==0.15.2+cu118 torchaudio==2.0.1+cu118 -f https://mirrors.aliyun.com/pytorch-wheels/cu118/

这条命令的作用是:从阿里云镜像站点下载 PyTorch 的预编译轮子文件。因为轮子文件本身就是为 Windows + CUDA 编译好的,所以不需要本地再装完整的 CUDA 工具包,只需要保证显卡驱动够新即可。

> 提示:GPU 版的安装,多数情况下不需要单独安装 CUDA Toolkit。预编译包内部已经绑定好必要的 CUDA 运行库,只要 NVIDIA 驱动版本满足要求就能跑。别被网上那些必须装 CUDA Toolkit 的教程带偏,先试最简单的方案。

3.4 验证安装是否成功

安装完成后,来到验证这一步。在命令行里输入:

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

如果正常输出类似2.0.1+cu118这样的版本号,说明 PyTorch 核心包已经安装成功。

接下来验证 PyTorch 是否能正常调用 GPU:

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

如果是 CPU 版,这里会输出False,这是正常的,不代表安装失败。如果是 GPU 版且驱动环境正常,这里会输出True,同时你还可以通过torch.cuda.get_device_name(0)查看显卡型号。

到这里,命令行层面的安装工作就全部完成了。但很多人卡在下一步:明明命令行里验证没问题,进了 PyCharm 却报错,或者压根找不到这个环境。接下来就解决这个问题。

4. PyCharm 环境配置:让代码跑起来的最后一公里

4.1 新建项目并绑定虚拟环境

打开 PyCharm,新建项目时选择"Previously configured interpreter"(使用已配置的解释器),然后在解释器列表里找到你刚才创建的虚拟环境。

如果没有出现在列表里,需要手动添加:点击 "Add Interpreter" -> "Existing environment" -> 右边的三点按钮,浏览到刚才创建的虚拟环境目录下的python.exe文件。路径一般类似:

C:\Users\你的用户名\venvs\torch_env\Scripts\python.exe

选好后,PyCharm 会自动识别该环境以及其中的所有第三方包。

这里我特别强调一个新手常犯的错误:千万不要直接用全局 Python 作为解释器,也不要勾选"New environment using Virtualenv"重新创建一个新环境。这两种做法都会导致你辛苦装的 torch 在新环境里找不到,最终出现ModuleNotFoundError: No module named 'torch'的报错。

4.2 在 PyCharm 里验证并跑第一个测试脚本

绑定好解释器后,新建一个 Python 文件,随便起个名字,比如test_torch.py,内容写上:

import torch print("PyTorch 版本:", torch.__version__) print("CUDA 可用:", torch.cuda.is_available()) if torch.cuda.is_available(): print("GPU 名称:", torch.cuda.get_device_name(0))

直接右键运行这段代码。如果输出正常,说明 PyCharm 和 PyTorch 已经完成对接,你可以开始正常写代码了。

如果在这一步报了No module named 'torch',优先检查 PyCharm 右下角显示的解释器路径是不是指向了你激活的那个虚拟环境。很多情况下,PyCharm 默认用的是全局解释器,改回来问题就解决了。

4.3 PyCharm 里还有几个值得改的配置

解释器配对完成后,有几项配置可以顺手改掉,能明显提升使用体验。

设置 pip 镜像:虽然你已经在命令行里配置过 pip 全局镜像,但 PyCharm 自带的包管理工具是独立进程,它默认不走命令行里的 pip 配置。推荐在 PyCharm 的设置里,导航到 "Project" -> "Python Interpreter" 下的 "Manage Repositories",把清华或阿里镜像地址加进去。这样你在 PyCharm 图形界面上安装包时也能享受加速。

设置默认项目路径:"Settings" -> "Appearance & Behavior" -> "System Settings",把默认项目目录改成你习惯的工作目录,避免每次都要重新定位。

设置代码风格:如果后续要写大量代码,建议顺手把缩进、换行等风格统一,避免复制别人代码时出现格式混乱。不过这部分看个人习惯,不调整也不影响功能。

> 注意:PyCharm 的"运行"按钮旁边那个绿色三角,默认是在当前文件所在目录下运行解释器。如果你开了多个项目窗口,一定要确认当前打开的这个项目绑定的是正确的虚拟环境,否则很容易出现环境对不上、代码跑不起来的情况。

5. 常见问题与排查实录:我把这些年踩过的坑整理成了表格

5.1 安装过程中的高频报错

报错信息大概率原因处理方式
Could not find a version that satisfies the requirement torchpip 找不到兼容版本,一般是 Python 版本过老或没有指定正确的源升级 Python 到 3.9+;检查镜像源是否配置正确
Connection timed out下载源太远或网络波动换用国内镜像源,重试安装
No module named 'torch'解释器选错环境,或在 PyCharm 里没绑定正确的虚拟环境检查 PyCharm 解释器路径,改为虚拟环境里的 python.exe
torch.cuda.is_available()返回 False装的是 CPU 版本;或 NVIDIA 驱动版本太旧按上文 GPU 版命令重装;更新显卡驱动
FileNotFoundError: cudnn not found某些旧版 CUDA 版 PyTorch 需要特定 cuDNN 动态库多在更新驱动后重装;或升级到新版 PyTorch

5.2 命令行装好了、PyCharm 里却找不到包

这个问题占了我收到疑问的一大半。命令行能导入 torch,说明安装没问题;PyCharm 导入失败,基本只有一个原因:PyCharm 解释器指向的环境和命令行激活的环境不是同一个。

举个例子:你在命令行里激活的是torch_env,但 PyCharm 默认新建了一个.venv环境,那 torch 只存在于torch_env里,.venv里当然找不到。你要么在 PyCharm 里把解释器切换到torch_env,要么在torch_env里重新安装一遍包。

5.3 CUDA 相关问题的排查思路

很多人在 Windows 上遇到 GPU 版 PyTorch 装完但cuda.is_available()返回 False,第一反应是重装 CUDA、重装 PyTorch,来回折腾好几轮也没解决。我的排查经验是,先跑下面这几条命令:

nvidia-smi

如果提示找不到命令,说明没有安装 NVIDIA 驱动或者驱动不在 PATH 里,先装驱动。如果能正常输出显卡信息,看右上角的 CUDA 版本号,保证你的驱动支持 CUDA 版本不要太老。一般驱动版本在 450 以上,跑常见 PyTorch 版本都没问题。

另一个容易被忽视的点是笔记本电脑的双显卡切换。很多笔记本是集显加独显的组合,如果系统默认让 Python 使用集显,torch.cuda.is_available()也不会报错,但会返回 False。你可以在 Windows 的"图形设置"里指定某个应用使用高性能 NVIDIA 处理器,但说实话,日常跑代码很少被这个影响,所以先排除驱动问题再考虑这个。

5.4 虚拟环境管理的一个小建议

如果觉得命令行手动创建和管理虚拟环境麻烦,也可以直接用 PyCharm 创建虚拟环境,然后在 PyCharm 的终端里执行 pip 安装。只要保证创建环境和安装包用的是同一个环境即可。

我自己实际建议是:Windows 下用命令行创建环境,再用 PyCharm 绑定,因为这样环境的位置可控、命名清晰,后续多项目切换也更高效。

6. 一些值得说的实在话

这套流程写下来,其实技术含量并没有多高,核心就三件事:干净的 Python 环境、合理的下载源、匹配的解释器。真正的价值在于,每个环节我都踩过各种意料之外的坑,所以知道你会卡在哪里。

就我个人经验来说,安装 PyTorch 真遇到问题,九成以上不是命令不对,而是环境错乱。见过太多同学在全局环境里堆了几百个包,互相不兼容,最后怎么装都报错。所以说虚拟环境不是可选项,而是必选项,尤其在 Windows 下,这能帮你省掉大量排查时间。

最后再分享一个小细节:装好之后,建议第一时间在 PyCharm 里把那个test_torch.py跑通再关闭,不要只在命令行验证完就觉得完事了。因为命令行环境、PyCharm 解释器选择、包路径解析这三者之间有个简短的延迟和匹配过程,只有亲自跑通一次,你才能确定整套链路是通的。把这套基础打牢,后面无论是读代码、跑实验,还是换环境重装,你心里都是有底的。

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

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

立即咨询