Windows安装face_recognition库出现CMake及CalledProcessError报错
报错根因
两个报错是同一问题触发的连锁反应:
CMakeLists.txt:5位置抛出的CMake message错误是首个触发点- 后续的
raise CalledProcessError(retcode, cmd)是编译流程中断后抛出的连带异常
执行python setup.py install安装face_recognition时,程序会自动拉取版本要求>=19.7的依赖dlib进行源码编译。Windows平台构建dlib的Python扩展必须依赖Visual Studio原生C++开发组件,仅安装VS Code和CMake无法满足编译要求:VS Code是代码编辑器,自带的C/C++插件不提供原生MSVC编译能力,最终会导致dlib配置阶段中断,触发子进程执行失败的异常,终止整个安装流程。
修复步骤
- 安装Visual Studio C编译工具
打开Visual Studio Installer(未安装Visual Studio可直接安装免费的社区版),勾选「使用C的桌面开发」工作负载,保持默认勾选的安装项即可,必须确保包含MSVC C++生成工具、对应版本的Windows SDK两个核心组件,安装完成后重启电脑让环境变量生效。 - 校验编译环境
新开一个终端窗口(旧终端不会加载刚更新的环境变量),执行cl命令,如果终端输出MSVC编译器的版本信息,说明编译环境配置正常。 - 重新执行安装
进入face_recognition源码根目录,先执行python setup.py clean清理之前失败的编译缓存,再重新执行python setup.py install即可完成安装。
注意:不要尝试用MinGW替代MSVC编译dlib,Windows平台下MinGW编译出的dlib Python扩展兼容性极差,后续运行时大概率出现崩溃、接口调用异常问题,使用官方要求的Visual Studio C++组件是稳定性最高的方案。
内容的提问来源于stack exchange,提问作者Tohid Naaz
相关产品推荐
相关产品推荐

