Windows10+Python3.11环境下Dlib-19.24.0安装失败求助
解决Python3.11+Windows10下Dlib-19.24.0编译失败的方案
问题根源
从编译日志的核心错误:
C:\Users\asdon\Downloads\dlib-19.24.0\dlib\external\pybind11\include\pybind11/pybind11.h(1895,30): error C2027: use of undefined type '_frame'
可以确定是Dlib 19.24.0自带的pybind11 v2.2.4版本过旧,不兼容Python3.11的API变更——Python3.11对_frame内部结构做了修改,老版本pybind11无法识别该类型,导致编译失败。
可行解决方案
方案1:升级Dlib内置的pybind11
- 下载支持Python3.11的pybind11版本(推荐v2.10.4及以上)
- 解压Dlib-19.24.0包,删除
dlib/external/pybind11目录下所有内容 - 将下载的新pybind11代码复制到
dlib/external/pybind11路径下 - 在Dlib解压根目录运行安装命令:
pip install .
方案2:使用预编译wheel包跳过编译
直接找适配Python3.11+Windows10 x64的Dlib预编译wheel文件,执行安装:
pip install dlib-19.24.0-cp311-cp311-win_amd64.whl
注意替换为实际下载的wheel文件名
方案3:降级Python到3.10版本
Dlib 19.24.0原生兼容Python3.10,无需修改代码即可正常编译:
- 卸载当前Python3.11环境
- 安装Python3.10.x版本(建议3.10.10)
- 直接通过pip安装:
pip install dlib==19.24.0
验证安装
安装完成后,在Python交互环境中执行:
import dlib print(dlib.__version__)
若能正常打印版本号,则安装成功,后续可继续安装facial_recognition:
pip install facial_recognition
内容的提问来源于stack exchange,提问作者Adeel Siddiqi
相关产品推荐
相关产品推荐

