face-recognition 安装
在安装 face-recognition 库时遇到的核心问题是 缺少必要的 C++ 编译环境
导致 dlib 库(face-recognition 的依赖)无法编译安装。
以下是具体解决方案:
推荐使用方法3、
dlib 是一个基于 C++ 的库,在 Windows 上安装时需要通过源码编译
而编译过程依赖 Visual Studio 的 C++ 开发工具链。
方法 1:安装 Visual Studio 及 C++ 编译工具
下载 Visual Studio
前往 Visual Studio 官网,下载 Community 版(免费,足够满足需求)。
安装时勾选必要组件
运行安装程序,在「工作负载」中勾选:
使用 C++ 的桌面开发(必须勾选,包含编译所需的工具链)
可选:勾选「Python 开发」(如果需要与 Python 集成)
重启电脑
安装完成后重启,确保环境变量生效。
重新安装库
打开命令行(或 Anaconda Prompt),执行:
# 先激活你的环境(如果使用conda) conda activate myfastapi # 安装dlib(face-recognition的依赖) pip install dlib # 再安装face-recognitionpip install face-recognition
方法 2:使用预编译的 dlib 版本(避免编译)
如果不想安装 Visual Studio,可以尝试直接安装预编译好的 dlib 二进制包:
访问 Unofficial Windows Binaries for Python Extension Packages,下载与你的 Python 版本和系统匹配的 dlib 轮子(.whl 文件)。
例如:Python 3.10 + 64 位系统 → 选择 dlib-19.24.0-cp310-cp310-win_amd64.whl
安装下载的 .whl 文件:
# 切换到下载目录 cd 你的下载路径 # 安装dlib pip install dlib-19.24.0-cp310-cp310-win_amd64.whl # 替换为你下载的文件名 # 再安装face-recognition pip install face-recognition
方法 3:通过 conda 安装(推荐给 Anaconda 用户)
如果使用 Anaconda/Miniconda,可以直接通过 conda 安装预编译的 dlib(无需手动编译):
# 激活环境 conda activate myfastapi # 安装dlib(conda仓库中的版本可能稍旧,但稳定性高) conda install -c conda-forge dlib # 安装face-recognition pip install face-recognition
总结
最根本的解决方案是 安装 Visual Studio 并勾选 C++ 开发组件,这能一劳永逸解决 Windows 上大多数 C++ 扩展库的编译问题。如果嫌麻烦,可优先尝试 conda 安装或预编译的 .whl 包。
CMake 工具,dlib 库需要通过 CMake 进行编译。以下是解决方法:
1、安装 CMake
2、重新安装依赖先安装 dlib,再安装其他库:
pip install dlib pip install face-recognition
3、备选方案如果仍有问题,可以尝试使用 conda 安装 dlib(可能会更顺利):
conda install -c conda-forge dlib pip install face-recognition
安装完成后,建议再次验证是否成功:
python -c "import dlib; import cv2; import face_recognition; print('安装成功')"4、演示代码
import face_recognition # 读取人脸图片
Freeman = face_recognition.load_image_file("./file/01.png")
Feature = face_recognition.face_encodings(Freeman)[0]# 计算人脸特征
Who = face_recognition.load_image_file("who.jpg") # 读取未知人脸
Feature2 = face_recognition.face_encodings(Who)[0]
matches = face_recognition.compare_faces([Feature], Feature2)
if matches[0] == True: # 特征对比
print('是Freeman')