☰
YOLOv5环境配置全攻略:Anaconda+PyCharm+PyTorch从零到跑通
2026/9/30 13:31:31 网站建设 项目流程

上周帮新来的师弟配YOLOv5环境,他照着好几篇教程来回折腾了三天,最后卡在No module named 'torch'和Microsoft Visual C++ 14.0 is required这两个报错上。我接手后把环境全部清掉重来了一遍,从零开始到跑通detect.py,花了一个半小时左右。事实上YOLOv5的配置难度并不高,真正的坑基本集中在版本匹配、依赖安装和IDE解释器绑定这三个地方。

这篇文章把我多次配置环境时验证过的完整过程写下来,覆盖Anaconda、PyCharm、YOLOv5三个核心环节的选型原因、操作步骤和常见报错处理,适合刚接触深度学习和目标检测的朋友直接作为操作手册使用。不管你电脑有没有NVIDIA显卡,下面的步骤都能照做,只是PyTorch安装那一步会有区别。

1. 配置前的版本认知:为什么是Anaconda、PyCharm和YOLOv5

很多新手喜欢直接装个Python,再装个编辑器就开始敲代码,等依赖装到一半发现版本冲突,又要全部推倒重来。先花几分钟搞清楚这三个工具各自承担什么角色,后面会省下大量时间。

1.1 三个工具分别解决什么问题

Anaconda是一个Python发行版,核心价值在于自带conda这个包管理和环境管理工具。它允许你在同一台机器上创建多个互相隔离的Python环境,每个环境可以有不同的Python版本和包版本,互不干扰。比如你需要TensorFlow 2.x搭配Python 3.7跑一个老项目,又想用YOLOv5配Python 3.8做目标检测,用conda就能在几分钟内把两个环境都配好,切换时只需要一行命令。

PyCharm是目前Windows上使用率最高的Python IDE,负责写代码、调试、运行。它比VS Code对Python新手更友好的一点是,解释器、虚拟环境、终端这些概念都被图形化呈现了,你只要在设置里选对环境,它就会自动帮你处理路径和依赖索引的问题。

YOLOv5是Ultralytics团队开源的实时目标检测算法,在工业界和学术界都用得非常多。相比YOLOv3、YOLOv4,它在工程化方面做得最好,代码结构清晰、文档齐全、训练推理一条龙,环境配置本身不依赖额外的编译步骤(后面提到的lapx另说),这也是我拿它当新手第一个目标检测项目的核心理由。

1.2 版本组合的选择逻辑

版本搭配是环境配置里最容易翻车的地方,光看"最新版"三个字是会出事的。我实际测试下来比较稳的组合是:

  • Anaconda 3(2023版以上均可)
  • Python 3.8或3.10
  • PyTorch 2.x(CPU版或CUDA版均可)
  • YOLOv5 master分支(官方GitHub仓库)

Python版本这一点需要特别解释一下。YOLOv5官方说明里支持Python 3.8及以上,但我在多台机器上测试发现Python 3.8的兼容性最稳,尤其是搭配老版本的PyTorch时不会出现奇怪的ABI兼容问题。Python 3.10在最新的PyTorch 2.x下也没问题,但如果你后续要训练自己的数据集、安装一些第三方预处理库,3.8能遇到更少的坑。

选Anaconda不要选Miniconda?Miniconda更轻量,只包含Python和conda,装完只有几百MB,如果你对环境的掌控力比较强,Miniconda当然够用。但对新手来说,Anaconda自带了几十个常用科学计算包(numpy、pandas、matplotlib等),省去很多单独安装的步骤,所以我建议直接用Anaconda。

还有一个关键认知:Anaconda本身不带PyTorch,也不带CUDA,这三个是完全独立的东西。Anaconda管Python环境,CUDA是显卡驱动的底层计算框架,PyTorch是通过pip或conda安装进虚拟环境的深度学习框架。很多人混淆这些概念,导致出问题时不知道怎么排查。

2. Anaconda安装与镜像源配置:顺序做对,后面少踩一半坑

Anaconda的安装本身没什么技术含量,双击安装包一路Next就行。但如果忽略几个细节,后面使用时会让你怀疑人生。

2.1 安装Anaconda时容易被忽略的细节

首先是下载渠道。Anaconda官网(anaconda.com/products/distribution)下载速度在国内普遍很慢,我建议直接用清华TUNA镜像站的Archive页面下载安装包,速度和稳定性都靠谱得多。选择Anaconda3-2023.09-0-Windows-x86_64.exe这类即可,注意别下载成Linux版。

安装时有三个细节必须注意:

安装路径不能有中文和空格。这是无数人踩过的坑。比如装在D:\软件\Anaconda或者C:\Users\小明\Anaconda3,后续conda创建环境、安装依赖会莫名奇妙报路径错误,排查起来非常痛苦。我的习惯是装在D:\DevTools\Anaconda3这种纯英文路径下。

关于"Add Anaconda3 to my PATH environment variable"这个选项。新版Anaconda安装时默认是不勾选的,官方建议不勾选,用Anaconda Prompt来执行conda命令。但如果你选了不勾选,后续在PyCharm终端里直接用conda activate就会提示找不到命令。我的做法是勾选上,然后用Anaconda Prompt在用户环境变量里确认一遍,如果导入有问题就手动把D:\DevTools\Anaconda3和D:\DevTools\Anaconda3\Scripts加到Path里。

安装时选择"Just Me"还是"All Users"。如果你这台电脑只有自己用,选Just Me就够,权限问题少;如果多用户共用,才考虑All Users。

安装完成后,按Win + R输入cmd打开命令提示符,输入conda --version确认能正常输出版本号。如果提示找不到命令,大概率是Path没配好,按上面说的手动补上。

2.2 换镜像源:conda和pip两个源都必须改

这一步非常关键,不做的话后面每一步安装都会卡在等待网络响应上。Anaconda官方源的服务器在国外,下载速度只有几十KB/s是常态,换完国内镜像源之后能直接跑到几MB/s。

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 --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ # 设置显示通道来源 conda config --set show_channel_urls yes # 验证是否生效 conda config --show channels

执行完之后,conda会生成一个.condarc文件,位置在用户目录下(C:\Users\你的用户名\.condarc)。如果你之前就已经配置过源,目录下有这个文件,可以手动查看或编辑。

除了conda源,pip的源也要换成国内镜像,因为后面装PyTorch依赖的时候pip才是主力的包管理器。在命令行里执行:

# 永久设置pip为清华镜像源 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple pip config set global.trusted-host pypi.tuna.tsinghua.edu.cn # 验证 pip config list

有朋友会问:conda源和pip源不是一回事吗?严格来说不是。conda从conda源安装包,pip从PyPI安装包。虽然很多包两个源里都有,但PyTorch这种大体积框架,用pip直装更不容易出依赖冲突。所以两个源都配好,后面不管哪条安装路径都能起飞。

3. 创建虚拟环境与安装PyTorch:整个配置的成败关键

Anaconda装好之后,接下来就是创建虚拟环境并安装YOLOv5的核心依赖PyTorch。这是整个配置过程中最关键、也最容易出错的一步。

3.1 为什么必须建虚拟环境

我见过不少新手偷懒,直接在base环境里pip install torch,装完一时爽,后续想在同一个环境里跑另一个项目就悲剧了——要么版本冲突,要么卸载的时候把别的依赖一起弄坏了。

conda虚拟环境本质上就是一个独立的Python目录,里面有自己的site-packages,跟其他环境彻底隔离。创建YOLOv5专用环境后,你在里面装什么都不会影响base环境或者其他项目。

创建虚拟环境的命令很简单,在命令行里执行:

# 创建名为yolov5的虚拟环境,指定Python版本为3.8 conda create -n yolov5 python=3.8 -y # 激活虚拟环境 conda activate yolov5

激活之后,命令行前缀会变成(yolov5),这说明你已经在虚拟环境里了。这时候执行python --version确认输出的是Python 3.8.x。

3.2 安装PyTorch的版本选择方法

PyTorch是整个环境里最容易出问题的包,主要体现在CPU/GPU版本的选择上。安装前先确认你的电脑有没有NVIDIA独立显卡:

在命令行里执行nvidia-smi,如果输出了一张显卡信息表,说明有NVIDIA显卡,并且表格右上角会有一个CUDA Version,这就是你的驱动最高支持的CUDA版本。如果没有输出,说明没有NVIDIA显卡,那就老老实实装CPU版。

装GPU版PyTorch时,选择的CUDA版本不能高于nvidia-smi里显示的版本,否则PyTorch运行时会提示CUDA初始化失败。比如你的驱动支持CUDA 12.1,那装CUDA 11.8版本的PyTorch没问题;反过来就不行。

最稳妥的方式是打开PyTorch官网(pytorch.org/get-started/locally),它会根据你选择的操作系统、包管理器、CUDA版本自动生成安装命令。以Windows + pip + CUDA 11.8为例,生成的命令是:

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

如果你没有NVIDIA显卡,就用CPU版:

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

这里有个经验:PyTorch的安装包体积很大(几百MB到2GB不等),就算有镜像源也可能装很久。装的时候务必保持命令行窗口不要关,看到Successfully installed torch-2.x.x才算结束。如果中途报网络错误,换--index-url为清华的PyTorch源重试。

3.3 安装后的验证方法

依赖装完先别急着装YOLOv5,先做一个五分钟的验证,确保PyTorch真的可用。在命令行里输入:

# 激活环境 conda activate yolov5 # 进入Python交互模式 python

然后输入以下代码:

import torch print(torch.__version__) # 打印PyTorch版本 print(torch.cuda.is_available()) # 检查GPU是否可用 print(torch.cuda.get_device_name(0) if torch.cuda.is_available() else "CPU mode")

如果你是GPU版本,且一切正常,第二行应该输出True,第三行会显示你的显卡型号。只要输出的是False,先别继续往下走,回到前面检查:是不是装了CPU版?CUDA版本是不是不匹配?驱动是不是没装好?

这一步验证很重要,因为后面YOLOv5训练的时候会自动调用GPU,如果GPU不可用而你没发现,训练速度会慢到怀疑人生。

4. PyCharm安装与解释器绑定:把虚拟环境"接"进IDE

Anaconda和PyTorch搞定后,装个PyCharm写代码、看运行结果。这一步更多是IDE配置问题,操作简单,但很多人会卡在"PyCharm里import torch还是报错"上。

4.1 安装PyCharm的版本选择

PyCharm分专业版(Professional)和社区版(Community)。社区版是免费的,功能足够日常开发和调试;专业版需要授权,但对Python开发来说差异主要体现在Web开发等高级功能上。我建议新手直接用社区版,官方下载地址是jetbrains.com/pycharm/download/,认准Windows下安装包后面的"Community"字样。

安装过程同样注意两点:安装路径不要带中文,装完之后启动时选择"Don't import settings"保持默认配置。另外在安装选项页面把"Create Desktop Shortcut(64-bit launcher)"和"Add 'bin' folder to the PATH"勾上,前者方便启动,后者方便在命令行里直接调用pycharm命令。

4.2 配置虚拟环境作为项目解释器

新建一个项目,比如项目名叫yolo_test。然后进入File -> Settings(快捷键Ctrl+Alt+S),找到Project: yolo_test -> Python Interpreter,在解释器下拉框选择Add Interpreter -> Conda Environment -> Existing Environment。

在Interpreter路径那里,选择你刚才创建的yolov5虚拟环境里的python.exe。在Windows上,如果用Anaconda默认路径安装,这个文件一般位于:

C:\Users\你的用户名\.conda\envs\yolov5\python.exe

或者(如果你自定义了conda路径):

D:\DevTools\Anaconda3\envs\yolov5\python.exe

选好之后点击OK,PyCharm会花几秒钟索引当前环境的包。完成后,在代码里输入import torch,如果不再出现红色波浪线,说明解释器已经正确绑定。

还有一个隐藏的配置项:PyCharm的终端(Terminal)默认使用的是系统默认shell,不一定会自动激活conda环境。你会发现左下角的终端里直接python去执行,用的可能是base环境,导致import torch报错。

解决办法是:在PyCharm里依次点击File -> Settings -> Tools -> Terminal,在Shell path那一栏填上cmd.exe,然后在Environment variables里加上一项CONDA_DEFAULT_ENV=yolov5。这样每次打开PyCharm终端,它会自动激活yolov5环境。或者你嫌麻烦,每次在终端里手动敲一句conda activate yolov5也行。

5. YOLOv5源码获取、依赖安装与首次检测

环境就绪后,终于进入YOLOv5本体。这里主要分成源码获取、依赖安装、跑通检测三个步骤,走完这一步你就能看到边界框出现在图片上。

5.1 获取YOLOv5源码的常用方式

YOLOv5代码托管在GitHub上,仓库地址是github.com/ultralytics/yolov5。官方推荐的获取方式是用git克隆:

# 进入你的工作目录,如 D:\yolo cd /d D:\yolo # 克隆源码 git clone https://github.com/ultralytics/yolov5.git

如果网络不好、克隆慢,有两个替代方案:

  • 从GitHub页面直接下载ZIP压缩包,解压后同样能用,只是无法直接git pull更新;
  • 使用国内Gitee的YOLOv5镜像仓库,命令是git clone https://gitee.com/mirrors/yolov5.git,速度会快很多,代码内容和GitHub同步。

下载完进入yolov5目录,能看到detect.py、train.py、models/、data/这些文件和文件夹。其中detect.py是推理脚本,train.py是训练脚本,data/images里自带了两张测试图片(bus.jpg和zidane.jpg),后面直接用它们验证环境就够了。

5.2 requirements.txt的安装陷阱

YOLOv5根目录下有一个requirements.txt,里面列出了运行所需的全部Python包。理论上执行一句pip install -r requirements.txt就能装完,但实际操作中几乎每个新手都会在这里踩坑,坑点集中在几个地方:

第一个坑:某些包(特别是lapx>=0.5.2)在Windows上需要C++编译环境,而大多数人电脑上并没有安装Visual Studio Build Tools,于是pip会在安装lapx时报出经典的Microsoft Visual C++ 14.0 is required错误。

第二个坑:requirements.txt里没有显式写出PyTorch,所以如果你先执行它再单独装torch,顺序反了会导致torch和torchvision版本对不上(因为torchvision安装时会检查已安装torch的版本)。

我实际操作时的顺序是:先按第3章装好PyTorch,再执行依赖安装命令。执行时不要用裸pip,而是直接安装:

# 激活环境 conda activate yolov5 # 进入源码目录 cd /d D:\yolo\yolov5 # 安装requirements.txt中的依赖 pip install -r requirements.txt

如果lapx报错,你有两个处理方案:

一是安装Visual Studio Build Tools(visualstudio.microsoft.com/visual-cpp-build-tools/),选择"C++桌面开发"工作负载,安装完成重启后再执行pip install -r requirements.txt,lapx就能正常编译安装。缺点是Build Tools体积约2GB,安装时间较长。

二是从社区网友预编译的wheel文件入手,下载lapx-0.5.2-cp38-cp38-win_amd64.whl这类文件,然后本地安装。但这个方案依赖你的Python版本和系统架构,找到匹配的wheel通常不太难,装起来比编译快很多。我一般推荐先用这个方案,装不上再装Build Tools。

5.3 第一次跑通detect.py

依赖装完,在yolov5目录下执行:

python detect.py --weights yolov5s.pt --source data/images/bus.jpg

第一次运行会自动下载yolov5s.pt预训练权重文件(大约14MB)。如果下载超时,手动用浏览器打开https://github.com/ultralytics/yolov5/releases/download/v6.0/yolov5s.pt下载到yolov5目录下,再执行上面的命令。

正常执行时,你会看到类似这样的输出:

detect: weights=['yolov5s.pt'], source=data/images/bus.jpg, ... image 1/1 D:\yolo\yolov5\data\images\bus.jpg: 448x640 4 persons, 1 bus, Done. (0.237s) Results saved to runs\detect\exp

到这一步,环境就已经全部配置成功了。去runs\detect\exp目录下打开那张bus.jpg,画面上的人和巴士已经被框出来了。

6. 真实踩坑记录:我配了七八次环境后仍会遇到的几个报错

这一章专门写报错处理。以下每个问题我都至少亲手遇到过两次,按"报错现象 -> 原因 -> 解法"的顺序梳理,方便你直接对照排查。

6.1 No module named 'torch':环境没切换,不是依赖没装

报错场景:PyCharm里运行detect.py,立刻报ModuleNotFoundError: No module named 'torch'。

很多人第一反应是"我明明装过torch了",然后重装一遍还是报错。这个问题的根源99%是解释器指向了错误的环境。最常见的情况是:你在Anaconda Prompt里把torch装进了yolov5虚拟环境,但PyCharm项目解释器却指向了base环境或另一个环境。

排查方法是看PyCharm右下角显示的解释器路径,或者在代码开头加一行print(torch.__file__)看它到底找的是哪个路径。如果确实指错了,按第4章的步骤重新绑定解释器就能解决。

6.2 Visual C++ 14.0 is required:lapx引发的编译困扰

报错场景:pip install -r requirements.txt执行到一半,弹出error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft C++ Build Tools"。

这个报错的直接来源是lapx这个C扩展包,它没有预编译的Windows wheel,必须现场编译。编译需要MSVC编译器,而普通电脑默认不装。

我最早遇到时走了弯路:装了个几GB的Build Tools,编译时还因为Python 3.8和VC版本不匹配失败了好几次。后来我删掉Build Tools,改成下载社区编译好的lapxwheel,直接一条pip install lapx-0.5.2-cp38-cp38-win_amd64.whl就解决了。

这里给个判断标准:如果是Python 3.8 + Windows x64,优先找wheel;如果是其他Python版本或Linux系统,装Build Tools或编译工具链才是唯一的出路。

6.3 torch.cuda.is_available()为False:GPU不可用的常见原因

报错场景:前面验证时输出了False,或者训练时提示Using CPU,训练速度只有几秒一步。

可能原因有三类:装了CPU版PyTorch;显卡驱动版本太低,不支持目标CUDA;PyTorch的CUDA版本高于驱动的CUDA版本。

排查时先执行nvidia-smi看右上角的CUDA版本,再执行python -c "import torch; print(torch.__version__)"看你装的PyTorch是CPU版还是CUDA版。如果输出里带+cu118就是CUDA 11.8版,不带才是CPU版(部分旧版本输出是1.13.1这种,不带后缀则说明是CPU版)。不管哪种情况,按第3章重新安装匹配的PyTorch版本即可。

6.4 下载慢/超时:镜像源的再强调

报错场景:git clone卡住、pip安装时反复ReadTimeoutError、权重文件下载到一半断掉。

这些都是网络问题,解决办法就是换源。

  • GitHub慢:用Gitee镜像克隆
  • pip慢:用清华PyPI源(第2章已配好)
  • 权重下载慢:浏览器配合下载工具下载,手动放进yolov5目录
  • 换源后仍有超时:加大pip超时时间,pip install --timeout 120 -r requirements.txt

6.5 一个小技巧:把验证步骤写成检查清单

最后说一个我自己的习惯。每次配完环境,我会把验证命令存成一个checklist,下次换机器或帮别人配环境时照着走一遍,哪里有问题直接定位:

conda --version python --version python -c "import torch; print(torch.__version__, torch.cuda.is_available())" python -c "import cv2, numpy, matplotlib, yaml; print('common deps ok')"

这四句命令覆盖了Anaconda本身、Python版本、PyTorch和GPU状态、常用依赖四个层面。哪一步报错就处理哪一步,不用从头再翻文档。这个清单我用了两年,帮别人排障时非常实用。

YOLOv5环境配置的核心其实就三句话:版本选对、源换好、环境指对。你照着这篇文章的步骤走,正常情况下两小时内一定能看到检测框画出来。后面等你要训练自己的数据集了,再来解锁train.py的那些参数也不迟。

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

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

立即咨询