安装dlib库失败求助:编译wheel时返回非零错误码
解决dlib安装失败(subprocess-exited-with-error)的可行方案
1. 安装预编译的dlib Wheel包(推荐,避免编译)
自行编译dlib需要完整的C++开发环境,易出现兼容性问题,优先使用匹配Python版本的预编译包:
- 下载对应Python 3.11.9和系统架构的dlib wheel文件(例如Windows平台选择
dlib-xxx-cp311-none-win_amd64.whl,Linux/macOS选择对应架构的包) - 激活虚拟环境后执行本地安装命令:
pip install path/to/your/dlib-wheel-file.whl - 安装完成后直接安装face-recognition:
pip install face-recognition
2. 补全编译依赖(如需源码编译)
若必须从源码编译,确保以下依赖完整:
- Windows系统:安装Visual Studio,勾选「Desktop development with C++」组件,包含MSVC编译器、Windows SDK和C++标准库。
- Linux/macOS系统:安装gcc/g++(Linux)或Xcode Command Line Tools(macOS),执行
sudo apt install build-essential(Ubuntu)或xcode-select --install(macOS)。 - 升级pip、setuptools和wheel到最新版本:
pip install --upgrade pip setuptools wheel - 执行带日志的安装命令定位具体错误:
pip install dlib --verbose
根据日志提示补全缺失依赖(例如Linux下缺少线性代数库时,可安装libopenblas-dev liblapack-dev)。
3. 修复虚拟环境中导入失败的问题
若虚拟环境中安装成功但导入报错:
- 确认当前终端已激活目标虚拟环境,执行
where python(Windows)或which python(Linux/macOS),验证使用的是虚拟环境内的Python解释器。 - 检查dlib安装状态:
pip list | grep dlib,确认存在对应版本的dlib。 - 若仍报错,删除现有虚拟环境,重新创建并指定Python 3.11.9:
# Windows python -m venv my_face_env my_face_env\Scripts\activate # Linux/macOS python3.11 -m venv my_face_env source my_face_env/bin/activate
激活后重新安装dlib和face-recognition。
4. 降级到兼容的Python稳定版本
Python 3.11属于较新版本,部分dlib版本适配性不足,可尝试降级到Python 3.9.x(例如3.9.13):
- 卸载当前Python 3.11.9,安装Python 3.9.x时勾选「Add Python to PATH」。
- 创建新的虚拟环境,激活后直接执行:
pip install dlib face-recognition
内容的提问来源于stack exchange,提问作者Darshil Pungalia
相关产品推荐
相关产品推荐

