You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

构建人脸识别工具时安装dlib遇wheel编译失败,已装CMake/VS如何修复?

安装dlib时CMake提示需安装Visual C++,但已安装Visual Studio和CMake仍报错

我正在开发一款人脸识别工具,多次尝试安装dlib均失败,报错核心提示如下:

CMake Error at CMakeLists.txt:5 (message):
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

You must use Visual Studio to build a python extension on windows. If you
are getting this error it means you have not installed Visual C++. Note
that there are many flavors of Visual Studio, like Visual Studio for C#
development. You need to install Visual Studio for C++.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

完整报错输出:

× Building wheel for dlib (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [78 lines of output]
    running bdist_wheel
    running build
    running build_ext
    <string>:125: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
    Building extension for Python 3.11.4 (tags/v3.11.4:d2340ef, Jun  7 2023, 05:45:37) [MSC v.1934 64 bit (AMD64)]
    Invoking CMake setup: 'cmake C:\Users\Jack\AppData\Local\Temp\pip-install-tl9fdcf0\dlib_fee2183dfbb9404395bfedaca5728c1a\tools\python -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:\Users\Jack\AppData\Local\Temp\pip-install-tl9fdcf0\dlib_fee2183dfbb9404395bfedaca5728c1a\build\lib.win-amd64-cpython-311 -DPYTHON_EXECUTABLE=C:\Users\Jack\AppData\Local\Programs\Python\Python311\python.exe -DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE=C:\Users\Jack\AppData\Local\Temp\pip-install-tl9fdcf0\dlib_fee2183dfbb9404395bfedaca5728c1a\build\lib.win-amd64-cpython-311 -A x64'
    -- Building for: NMake Makefiles
    CMake Error at CMakeLists.txt:5 (message):
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


      You must use Visual Studio to build a python extension on windows.  If you
      are getting this error it means you have not installed Visual C++.  Note
      that there are many flavors of Visual Studio, like Visual Studio for C#
      development.  You need to install Visual Studio for C++.


   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!



    -- Configuring incomplete, errors occurred!
    Traceback (most recent call last):
      File "C:\Users\Jack\AppData\Local\Programs\Python\Python311\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 353, in <module>
        main()
      File "C:\Users\Jack\AppData\Local\Programs\Python\Python311\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 335, in main
        json_out['return_val'] = hook(**hook_input['kwargs'])
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "C:\Users\Jack\AppData\Local\Programs\Python\Python311\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 251, in build_wheel
        return _build_backend().build_wheel(wheel_directory, config_settings,
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "C:\Users\Jack\AppData\Local\Temp\pip-build-env-ar6t1xkr\overlay\Lib\site-packages\setuptools\build_meta.py", line 416, in build_wheel
        return self._build_with_temp_dir(['bdist_wheel'], '.whl',
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "C:\Users\Jack\AppData\Local\Temp\pip-build-env-ar6t1xkr\overlay\Lib\site-packages\setuptools\build_meta.py", line 401, in _build_with_temp_dir
        self.run_setup()
      File "C:\Users\Jack\AppData\Local\Temp\pip-build-env-ar6t1xkr\overlay\Lib\site-packages\setuptools\build_meta.py", line 338, in run_setup
        exec(code, locals())
      File "<string>", line 218, in <module>
      File "C:\Users\Jack\AppData\Local\Temp\pip-build-env-ar6t1xkr\overlay\Lib\site-packages\setuptools\__init__.py", line 107, in setup
        return distutils.core.setup(**attrs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "C:\Users\Jack\AppData\Local\Temp\pip-build-env-ar6t1xkr\overlay\Lib\site-packages\setuptools\_distutils\core.py", line 185, in setup
        return run_commands(dist)
               ^^^^^^^^^^^^^^^^^^
      File "C:\Users\Jack\AppData\Local\Temp\pip-build-env-ar6t1xkr\overlay\Lib\site-packages\setuptools\_distutils\core.py", line 201, in run_commands
        dist.run_commands()
      File "C:\Users\Jack\AppData\Local\Temp\pip-build-env-ar6t1xkr\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 969, in run_commands
        self.run_command(cmd)
      File "C:\Users\Jack\AppData\Local\Temp\pip-build-env-ar6t1xkr\overlay\Lib\site-packages\setuptools\dist.py", line 1234, in run_command
        super().run_command(command)
      File "C:\Users\Jack\AppData\Local\Temp\pip-build-env-ar6t1xkr\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
        cmd_obj.run()
      File "C:\Users\Jack\AppData\Local\Temp\pip-build-env-ar6t1xkr\overlay\Lib\site-packages\wheel\bdist_wheel.py", line 343, in run
        self.run_command("build")
      File "C:\Users\Jack\AppData\Local\Temp\pip-build-env-ar6t1xkr\overlay\Lib\site-packages\setuptools\_distutils\cmd.py", line 318, in run_command
        self.distribution.run_command(command)
      File "C:\Users\Jack\AppData\Local\Temp\pip-build-env-ar6t1xkr\overlay\Lib\site-packages\setuptools\dist.py", line 1234, in run_command
        super().run_command(command)
      File "C:\Users\Jack\AppData\Local\Temp\pip-build-env-ar6t1xkr\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
        cmd_obj.run()
      File "C:\Users\Jack\AppData\Local\Temp\pip-build-env-ar6t1xkr\overlay\Lib\site-packages\setuptools\_distutils\command\build.py", line 131, in run
        self.run_command(cmd_name)
      File "C:\Users\Jack\AppData\Local\Temp\pip-build-env-ar6t1xkr\overlay\Lib\site-packages\setuptools\_distutils\cmd.py", line 318, in run_command
        self.distribution.run_command(command)
      File "C:\Users\Jack\AppData\Local\Temp\pip-build-env-ar6t1xkr\overlay\Lib\site-packages\setuptools\dist.py", line 1234, in run_command
        super().run_command(command)
      File "C:\Users\Jack\AppData\Local\Temp\pip-build-env-ar6t1xkr\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
        cmd_obj.run()
      File "<string>", line 130, in run
      File "<string>", line 167, in build_extension
      File "C:\Users\Jack\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 413, in check_call
        raise CalledProcessError(retcode, cmd)
    subprocess.CalledProcessError: Command '['cmake', 'C:\\Users\\Jack\\AppData\\Local\\Temp\\pip-install-tl9fdcf0\\dlib_fee2183dfbb9404395bfedaca5728c1a\\tools\\python', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:\\Users\\Jack\\AppData\\Local\\Temp\\pip-install-tl9fdcf0\\dlib_fee2183dfbb9404395bfedaca5728c1a\\build\\lib.win-amd64-cpython-311', '-DPYTHON_EXECUTABLE=C:\\Users\\Jack\\AppData\\Local\\Programs\\Python\\Python311\\python.exe', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE=C:\\Users\\Jack\\AppData\\Local\\Temp\\pip-install-tl9fdcf0\\dlib_fee2183dfbb9404395bfedaca5728c1a\\build\\lib.win-amd64-cpython-311', '-A', 'x64']' returned non-zero exit status 1.
    [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for dlib
Failed to build dlib
ERROR: Could not build wheels for dlib, which is required to install pyproject.toml-based projects

我已经安装了CMake和Visual Studio,但还是收到这个错误,请问该如何修复?


解决方案

1. 确认Visual Studio安装了C++开发组件

打开Visual Studio Installer,检查已安装的工作负载:

  • 勾选**“使用C++的桌面开发”**工作负载,确保包含MSVC编译器、Windows SDK等核心组件
  • 如果之前只装了其他工作负载(比如C#),补充安装后重启电脑

2. 使用VS原生命令行环境安装

找到并打开x64 Native Tools Command Prompt for Visual Studio(对应你的VS版本),在该窗口中执行:

pip install dlib

这个环境已经自动配置好VS编译器路径和相关环境变量,CMake会默认使用Visual Studio生成器而非NMake。

3. 手动指定CMake生成器

如果不想切换命令行环境,可在安装时直接指定生成器:

pip install dlib --install-option="--cmake-generator=Visual Studio 17 2022"

注意替换Visual Studio 17 2022为你实际安装的VS版本(比如VS 2019对应Visual Studio 16 2019)。

4. 安装预编译的dlib包

若编译仍失败,可直接使用第三方预编译版本跳过编译步骤:

pip install dlib-bin

dlib-bin是已编译好的wheel包,适配常见Python版本和Windows系统。


内容的提问来源于stack exchange,提问作者Epic Gaming 2

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 09:57:03