第2章:Python基础环境搭建

好,咱们正式开始动手了。

上一章聊完了整体课程规划,这一章咱们先把地基打牢。说白了,就是装好Python,配好源,建个干净的虚拟环境。别小看这一步,我见过太多同学后面跑YOLO时各种报错,追根溯源都是环境没搭好。

2.1 安装Python 3.8+

为什么强调3.8以上?因为OpenCV和YOLO的很多新特性,在3.6甚至3.7上跑起来会有点别扭。我个人习惯用3.9或3.10,稳定且兼容性好。

下载地址https://www.python.org/downloads/

安装时有个关键点——记得勾选「Add Python to PATH」。嗯,这一步很多人会忘,结果后面在命令行里敲python死活找不到命令。我曾经帮一个学员远程调试,折腾了半小时才发现是这问题。

⚠️ 注意:Windows用户安装时,如果系统已预装Python(比如某些开发板或虚拟机),建议先卸载干净再装新版。否则两个版本混在一起,pip指向谁都不清楚。

装完后验证一下,打开终端(CMD或PowerShell),输入:

python --version

如果显示 Python 3.9.x 或类似信息,恭喜,第一步搞定。

2.2 配置pip镜像源

pip是Python的包管理器,但默认源在国外。你想想看,每次下载一个几十MB的包,等上几分钟甚至超时,多耽误事。

我建议换成国内镜像。常用的有清华、阿里、中科大等。我个人偏爱清华源,速度快且稳定。

临时使用(一次有效):

pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple

永久配置(推荐):

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

配置完后,可以查看当前源:

pip config list
💡 小技巧:如果你在公司内网或学校网络,可能还需要配置代理。我曾经在某个客户现场,网络策略严格到连pip都连不上,最后只能离线下载whl文件手动安装。所以,有条件的话提前确认网络环境。

2.3 创建虚拟环境(venv / conda)

为什么要虚拟环境?说白了,就是隔离依赖。你同时做两个项目,一个用OpenCV 4.5,另一个用OpenCV 4.8,如果没有虚拟环境,它们会打架。

我推荐两种方式:

  • venv:Python自带的轻量级方案,适合小项目。
  • conda:Anaconda带的,适合数据科学和深度学习项目,管理包更方便。

2.3.1 使用venv

创建环境:

python -m venv opencv_yolo_env

激活环境:

  • Windows:opencv_yolo_env\Scripts\activate
  • macOS/Linux:source opencv_yolo_env/bin/activate

激活后,终端前面会出现 (opencv_yolo_env) 字样,说明你已经在虚拟环境里了。

2.3.2 使用conda

如果你装了Anaconda或Miniconda,可以这样:

conda create -n opencv_yolo_env python=3.9

激活:

conda activate opencv_yolo_env
🔑 关键区别:venv只管理Python包,conda还能管理非Python的依赖(比如CUDA、cuDNN)。做YOLO训练时,我强烈建议用conda,因为后面装GPU版OpenCV或PyTorch时,conda会自动处理底层库的版本冲突。

2.4 验证安装

环境建好了,咱们得确认它真的能用。我一般会跑一个小测试:

python -c "import numpy; print('NumPy version:', numpy.__version__)"

如果没报错,说明Python和pip都正常。接着装个OpenCV试试:

pip install opencv-python

然后验证:

python -c "import cv2; print('OpenCV version:', cv2.__version__)"

看到类似 4.8.1 这样的版本号,就说明环境搭建成功了。

⚠️ 常见坑:如果你在虚拟环境里装包,但启动Python时发现import失败,八成是没激活环境。我曾经有一次在服务器上调试,明明装了包却一直报ModuleNotFoundError,折腾半天才发现是在base环境里运行的脚本。嗯,这种低级错误,犯过一次就记住了。

2.5 总结

这一章咱们干了三件事:装Python、配镜像源、建虚拟环境。看起来简单,但这是后面所有实验的基础。你想想看,如果地基没打牢,后面YOLO训练到一半报个依赖错误,那才叫崩溃。

下一章,咱们开始装OpenCV和YOLO的核心库。到时候你会感谢今天认真搭环境的自己。


公众号:蓝海资料掘金营,微信deep3321