安装Dlib时出现cmake、C++相关报错,已配置cmake仍安装失败求助
我已安装cmake并通过环境变量完成配置,但Dlib依然无法安装。我需要安装Dlib是为了后续安装face-recognition,完整报错日志如下:
\Release\_dlib_pybind11.vcxproj] Traceback (most recent call last): File "<string>", line 1, in <module> File "C:\Users\rohit\AppData\Local\Temp\pip-install-c843pmpx\dlib_fdc8123b6a054d40aa6908544fdd7ce4\setup.py", line 222, in <module> setup( File "C:\Python310\lib\site-packages\setuptools\__init__.py", line 153, in setup return distutils.core.setup(**attrs) File "C:\Python310\lib\distutils\core.py", line 148, in setup dist.run_commands() File "C:\Python310\lib\distutils\dist.py", line 966, in run_commands self.run_command(cmd) File "C:\Python310\lib\distutils\dist.py", line 985, in run_command cmd_obj.run() File "C:\Python310\lib\site-packages\setuptools\command\install.py", line 61, in run return orig.install.run(self) File "C:\Python310\lib\distutils\command\install.py", line 568, in run self.run_command('build') File "C:\Python310\lib\distutils\cmd.py", line 313, in run_command self.distribution.run_command(command) File "C:\Python310\lib\distutils\dist.py", line 985, in run_command cmd_obj.run() File "C:\Python310\lib\distutils\command\build.py", line 135, in run self.run_command(cmd_name) File "C:\Python310\lib\distutils\cmd.py", line 313, in run_command self.distribution.run_command(command) File "C:\Python310\lib\distutils\dist.py", line 985, in run_command cmd_obj.run() File "C:\Users\rohit\AppData\Local\Temp\pip-install-c843pmpx\dlib_fdc8123b6a054d40aa6908544fdd7ce4\setup.py", line 134, in run self.build_extension(ext) File "C:\Users\rohit\AppData\Local\Temp\pip-install-c843pmpx\dlib_fdc8123b6a054d40aa6908544fdd7ce4\setup.py", line 174, in build_extension subproc File "C:\Python310\lib\subprocess.py", line 369, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['cmake', '--build', '.', '--config', 'Release', '--', '/m']' returned non-zero exit status 1. ---------------------------------------- ERROR: Command errored out with exit status 1: 'C:\Python310\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\rohit\\AppData\\Local\\Temp\\pip-install-c843pmpx\\dlib_fdc8123b6a054d40aa6908544fdd7ce4\\setup.py'"'"'; __file__='"'"'C:\\Users\\rohit\\AppData\\Local\\Temp\\pip-install-c843pmpx\\dlib_fdc8123b6a054d40aa6908544fdd7ce4\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\rohit\AppData\Local\Temp\pip-record-0xikgbnf\install-record.txt' --single-version-externally-managed --compile --install-headers 'C:\Python310\Include\dlib' Check the logs for full command output.
可知该安装过程所需依赖不止cmake,请问如何解决上述报错?
解决方案
报错根因
该报错为Windows平台下Dlib编译失败问题,核心原因是缺少C编译工具链:Dlib是C开发的第三方库,通过pip安装时需要本地编译,仅安装CMake不足以完成编译流程,同时你使用的Python3.10也可能存在和旧版Dlib预编译包不匹配的问题。
修复步骤按优先级从高到低排列
- 方案1:直接安装适配Python3.10的预编译Dlib包(无需本地编译,耗时最短)
直接执行以下命令安装对应版本:pip install dlib==19.24.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
19.24.2版本Dlib已经提供Python3.10对应的Windows预编译wheel包,不需要本地编译即可完成安装。 - 方案2:安装完整编译工具链后手动编译
如果你需要使用自定义版本的Dlib,按以下步骤操作:- 安装微软Visual Studio生成工具,勾选「使用C++的桌面开发」组件,确保安装了MSVC v143+编译工具、对应版本的Windows SDK
- 重启电脑让环境变量生效
- 重新执行
pip install dlib即可完成编译安装
- 方案3:降级Python版本提升兼容性
如果以上方案都无法正常安装,可将Python版本降级到3.8或3.9,这两个版本对Dlib和后续要装的face-recognition兼容性最好,几乎不会出现编译类报错。
安装验证
Dlib安装完成后执行以下命令验证是否正常:python -c "import dlib;print(dlib.__version__)"
无报错即可继续安装face-recognition:pip install face-recognition
内容的提问来源于stack exchange,提问作者Rohithaditya
相关产品推荐
相关产品推荐

