运行人脸识别代码遇_dlib_pybind11缺失错误,已装cmake和dlib求排查
问题分析与解决
错误原因
ModuleNotFoundError: No module named '_dlib_pybind11' 说明你安装的dlib未完成编译:虽然存在dlib-19.24.1.dist-info目录(这只是安装元数据文件),但dlib核心的C++绑定模块_dlib_pybind11缺失,大概率是编译环境不足导致安装过程未生成该模块。
解决步骤
1. 彻底卸载现有dlib
打开终端执行:
pip uninstall -y dlib
2. 确保编译环境完整
- Windows用户:必须安装Visual Studio(勾选「桌面开发使用C++」组件,包含MSVC编译器、Windows SDK等);同时确认cmake已添加到系统PATH,执行
cmake --version验证能正常输出版本信息。 - Linux用户:安装gcc/g++编译套件,执行
sudo apt install build-essential。 - macOS用户:安装Xcode Command Line Tools,执行
xcode-select --install。
3. 重新编译安装dlib
推荐用pip直接安装(自动处理编译):
pip install dlib==19.24.1 --no-cache-dir
如果pip安装失败,可尝试源码编译:
# 克隆指定版本源码 git clone https://github.com/davisking/dlib.git cd dlib git checkout tags/v19.24.1 # 编译安装 python setup.py install
4. 验证安装
打开Python交互终端执行:
import dlib print(dlib.__version__)
无报错则说明dlib安装成功。
额外代码修正
你的代码里还有一处拼写错误:cv2.imgShow 应该改为 cv2.imshow,否则后续运行会触发属性错误。
内容的提问来源于stack exchange,提问作者Emeka Nwocha
相关产品推荐
相关产品推荐

