我在为python安装face_recognition库,用了pip install face_recognition的命令,报错内容为:Building wheels for collected packages: dlib Building wheel for dlib (pyproject.toml) ... error error: subprocess-exited-with-error × Building wheel for dlib (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> [48 lines of output] running bdist_wheel running build running build_ext Traceback (most recent call last): File "d:\program files\python38\lib\runpy.py", line 194, in _run_module_as_main return _run_code(code, main_globals, None, File "d:\program files\python38\lib\runpy.py", line 87, in _run_code exec(code, run_globals) File "D:\Program Files\Python38\Scripts\cmake.exe\__main__.py", line 4, in <module> ModuleNotFoundError: No module named 'cmake' ================================================================================ ================================================================================ ================================================================================ CMake is not installed on your system! Or it is possible some broken copy of cmake is installed on your system. It is unfortunately very common for python package managers to include broken copies of cmake. So if the error above this refers to some file path to a cmake file inside a python or anaconda or miniconda path then you should delete that broken copy of cmake from your computer. Instead, please get an official copy of cmake from one of these known good sources of an official cmake: - cmake.org (this is how windows users should get cmake) - apt install cmake (for Ubuntu or Debian based systems) - yum install cmake (for Redhat or CenOS based systems) On a linux machine you can run `which cmake` to see what cmake 应该如何正常
时间: 2025-08-14 20:02:19 浏览: 18
<think>我们正在处理用户的问题:解决使用pip安装face_recognition时出现的dlib构建错误,错误信息为“CMake must be installed to build dlib”。
根据引用[1]和[3],这个错误是因为缺少CMake。dlib在构建时需要CMake,而系统中没有安装CMake。
解决方案:安装CMake。
在Ubuntu或Debian系统上,可以使用以下命令安装CMake:
sudo apt-get update
sudo apt-get install cmake
但是,用户可能还会遇到其他问题,比如引用[2]中提到的编译错误。不过,用户当前的问题只是CMake未安装,所以我们先解决这个问题。
如果安装CMake后仍然有问题,我们再考虑其他解决方案。
因此,我们给用户的建议是:
1. 更新软件包列表并安装CMake。
2. 然后再次尝试安装face_recognition。
注意:用户可能使用的是其他Linux发行版,但问题中提到了Ubuntu(引用[1]和[2]),所以我们假设是Ubuntu或类似系统。
另外,如果用户使用的是其他系统,安装CMake的方法可能不同。但用户没有说明系统,所以我们先提供Ubuntu的解决方案。
如果用户不是Ubuntu系统,我们可以提供其他系统的安装方法(如CentOS使用yum install cmake),但需要用户提供系统信息。
考虑到用户的问题描述中提到了Ubuntu(引用中有Ubuntu),我们优先提供Ubuntu的解决方案。
步骤:
1. 打开终端。
2. 运行更新命令:sudo apt-get update
3. 安装CMake:sudo apt-get install cmake
4. 然后再次运行pip install face_recognition
如果用户已经安装了CMake但仍然出现这个错误,可能是CMake没有正确安装或者pip没有找到它。但这种情况较少,先按常规步骤处理。
同时,我们也要考虑到引用[2]中提到的编译错误(关于cuda_log1pexp的constexpr问题),但用户当前的问题只是CMake未安装,所以先不引入其他问题。
如果用户按照上述步骤安装CMake后,再次安装face_recognition时仍然出现错误,那么需要根据新的错误信息进一步解决。
因此,我们首先指导用户安装CMake,然后再尝试安装。
另外,我们也可以建议用户安装其他可能的依赖,以确保dlib能够正确编译。例如,dlib的编译可能还需要其他开发工具和库。我们可以建议安装build-essential和libopenblas-dev等(但根据错误信息,当前只需要CMake,所以这一步作为可选,如果用户后续仍然失败再考虑)。
但是,根据引用[3]的解决方案,只需要安装CMake即可。所以,我们先给出最小解决方案。
生成相关问题:
1. 安装CMake后仍然出现dlib构建错误怎么办?
2. 如何验证CMake是否安装成功?
3. 在非Ubuntu系统上如何安装CMake?</think>### 解决 pip 安装 face_recognition 时的 dlib 构建错误:CMake 未安装
#### 问题分析
安装 `face_recognition` 时出现 **ERROR: CMake must be installed to build dlib** 错误,表明系统缺少 `CMake` 工具链。这是因为 `dlib`(`face_recognition` 的核心依赖)在编译 C++ 扩展时需要 CMake 生成构建文件[^1][^3]。
#### 解决方案(Ubuntu/Debian 系统)
1. **安装 CMake**
运行以下命令安装 CMake:
```bash
sudo apt-get update
sudo apt-get install cmake
```
 [^1][^3]
2. **安装其他依赖**(可选但推荐)
确保安装编译工具链和 Python 开发库:
```bash
sudo apt-get install build-essential python3-dev
```
3. **重新安装 face_recognition**
完成上述步骤后,重新运行安装命令:
```bash
pip install face_recognition
```
#### 其他系统解决方案
- **CentOS/RHEL**:
```bash
sudo yum install cmake3 gcc-c++ make python3-devel
```
- **macOS** (使用 Homebrew):
```bash
brew install cmake
```
#### 验证安装
检查 CMake 是否成功安装:
```bash
cmake --version
```
正常输出示例:`cmake version 3.22.1`
#### 进阶问题排查
若安装 CMake 后仍报错(如引用[2]中的 CUDA 编译错误):
1. 尝试安装 dlib 的预编译版本:
```bash
pip install dlib --no-binary :all: # 强制源码编译
```
2. 或直接安装预编译的 dlib:
```bash
pip install dlib==19.24.1 # 指定兼容版本
```
---
### 相关问题
1. 安装 CMake 后仍然出现 `dlib` 编译错误(如 CUDA 相关错误)该如何解决?[^2]
2. 如何在 Windows 系统上解决 `face_recognition` 的 CMake 依赖问题?
3. 为什么 `pip install face_recognition` 需要编译 C++ 扩展?能否避免编译过程?
[^1]: Ubuntu 下安装 face_recognition 遇到 ERROR: CMake must be installed to build dlib 的解决方法
[^2]: Ubuntu 16.04 下 dlib 编译时出现的 CUDA 相关错误分析
[^3]: 通过系统包管理器安装 CMake 的通用方法
阅读全文
相关推荐




















