2. 开发环境搭建:Python 3.8+ 安装、OpenCV库安装、dlib库安装、face_recognition库安装、IDE推荐(PyCharm/VSCode)
说实话,很多同学学人脸识别,第一关就卡在环境搭建上。
我记得刚带项目那会儿,有个同事装 dlib 装了一整天,最后发现是 Visual Studio 版本不对。嗯,这种坑我踩过不少。所以这一章,咱们把环境一次搞定。
本章目标:从零搭建一套能跑通人脸识别代码的开发环境。核心工具链:Python 3.8 + OpenCV + dlib + face_recognition。
2.1 Python 3.8+ 安装
我个人的习惯是,做计算机视觉项目,Python 3.8 最稳。3.9 和 3.10 虽然新,但有些老库的预编译包不一定支持。
2.1.1 下载与安装
- 打开 python.org,下载 Python 3.8.x 版本(推荐 3.8.10)。
- 安装时 务必勾选「Add Python to PATH」。
- 安装路径建议用默认,或者纯英文路径(别放中文文件夹)。
2.1.2 验证安装
打开终端(CMD 或 PowerShell),输入:
python --version
pip --version
如果显示 Python 3.8.x 和 pip 21.x 以上,说明安装成功。
小技巧:我习惯用 python -m pip install --upgrade pip 先升级 pip,避免后续安装库时版本太旧报错。
2.2 OpenCV 库安装
OpenCV 是咱们人脸识别的「眼睛」。说白了,读摄像头、处理图像、画框框,全靠它。
2.2.1 安装命令
pip install opencv-python
pip install opencv-contrib-python # 包含额外模块
第一个包是核心库,第二个包带了一些扩展功能(比如人脸检测的 LBP 算法)。我建议两个都装,省得后面缺模块。
2.2.2 验证安装
python -c "import cv2; print(cv2.__version__)"
输出 4.5.x 或 4.6.x 就对了。
注意:如果你用的是 Python 3.10 或更高版本,OpenCV 的预编译包可能不兼容。我曾经在 Python 3.11 上装 OpenCV,结果编译报错,最后乖乖换回 3.8。所以,听我一句劝,用 3.8 最省心。
2.3 dlib 库安装
dlib 是咱们人脸关键点检测的利器。但它的安装……嗯,有点脾气。
2.3.1 直接安装(推荐)
pip install dlib
如果你运气好,网络通畅,几分钟就装好了。
2.3.2 如果报错怎么办?
dlib 编译需要 C++ 工具链。我曾经在 Windows 上卡了半小时,最后发现是 Visual Studio Build Tools 没装。
Windows 用户:
- 下载安装 Visual Studio Build Tools(免费)。
- 安装时勾选「C++ 生成工具」和「Windows 10 SDK」。
- 重启终端,再执行
pip install dlib。
Mac/Linux 用户:
# Mac
brew install cmake
pip install dlib
# Ubuntu
sudo apt-get install cmake
pip install dlib
避坑指南:我曾经在 Windows 上装 dlib 时遇到 fatal error C1083,后来发现是 Python 是 32 位的。换成 64 位 Python 3.8 就解决了。你想想看,这种坑不提前说,能折腾一整天。
2.3.3 验证安装
python -c "import dlib; print(dlib.__version__)"
输出 19.22.x 或 19.24.x 即可。
2.4 face_recognition 库安装
face_recognition 是 dlib 的上层封装,调用起来特别方便。说白了,几行代码就能做人脸识别。
2.4.1 安装命令
pip install face_recognition
它会自动依赖 dlib,所以只要 dlib 装好了,这个基本一次过。
2.4.2 验证安装
python -c "import face_recognition; print(face_recognition.__version__)"
完整验证脚本:新建一个 Python 文件,写入以下代码,运行不报错就说明环境全通了。
import cv2
import dlib
import face_recognition
print("OpenCV version:", cv2.__version__)
print("dlib version:", dlib.__version__)
print("face_recognition version:", face_recognition.__version__)
print("环境搭建成功!")
2.5 IDE 推荐:PyCharm vs VSCode
工欲善其事,必先利其器。IDE 选对了,开发效率翻倍。
| 对比项 | PyCharm | VSCode |
|---|---|---|
| 上手难度 | 中等,开箱即用 | 稍高,需要配置插件 |
| Python 支持 | 原生最强,智能提示精准 | 需安装 Python 插件 |
| 调试功能 | 可视化调试,变量监控方便 | 调试功能完整,但界面略简陋 |
| 资源占用 | 较高(尤其索引项目时) | 轻量,启动快 |
| 适合场景 | 大型项目、团队协作 | 快速开发、多语言混编 |
我的建议:
- 如果你是新手,或者主要做 Python 项目,PyCharm Community 版就够用。我第一个门禁项目就是在 PyCharm 上写的,调试人脸检测时,变量监控帮了大忙。
- 如果你喜欢轻量、可定制,或者同时写前端/后端,VSCode 更合适。记得装 Python、Pylance、Jupyter 这三个插件。
个人习惯:我平时两个都用。写算法原型用 PyCharm,调参数、跑实验用 VSCode。你想想看,各有各的好,没必要非争个高下。
2.6 本章知识体系总览
下面这张图,把咱们这一章的核心内容串起来了。你可以把它当成环境搭建的「导航地图」。
2.7 常见问题与解决方案
我把这些年遇到的环境问题整理了一下,你遇到类似情况可以直接查。
| 问题 | 原因 | 解决方案 |
|---|---|---|
pip 不是内部或外部命令 |
Python 未添加到 PATH | 重新安装,勾选「Add Python to PATH」 |
dlib 安装报 C1083 |
缺少 C++ 编译工具 | 安装 Visual Studio Build Tools |
face_recognition 导入失败 |
dlib 版本不兼容 | 卸载 dlib 重装:pip uninstall dlib && pip install dlib==19.22.0 |
OpenCV 无法读取摄像头 |
驱动问题或权限不足 | 检查摄像头驱动,以管理员身份运行终端 |
重要提醒:所有库的安装,尽量在 虚拟环境 中进行。我习惯用 python -m venv venv 创建隔离环境,避免不同项目之间的包冲突。你想想看,要是全局装了一堆包,版本乱掉,那排查起来真要命。