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

使用pip install dlib时遭遇legacy-install-failure错误求助

安装dlib时的编译错误排查

我在安装dlib时遇到了错误,一开始误以为是cmake的问题,已经通过pip install cmake成功安装了cmake,但执行pip install dlib仍然失败。

详细错误日志

-- Configuring incomplete, errors occurred!
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "C:\Users\lenovo\AppData\Local\Temp\pip-install-zfdideoa\dlib_36bb0c7331c64241ba41d26308a57467\setup.py", line 222, in <module>
          setup(
        File "c:\users\lenovo\appdata\local\programs\python\python39\lib\site-packages\setuptools\__init__.py", line 87, in setup
          return distutils.core.setup(**attrs)
        File "c:\users\lenovo\appdata\local\programs\python\python39\lib\site-packages\setuptools\_distutils\core.py", line 185, in setup
          return run_commands(dist)
        File "c:\users\lenovo\appdata\local\programs\python\python39\lib\site-packages\setuptools\_distutils\core.py", line 201, in run_commands
          dist.run_commands()
        File "c:\users\lenovo\appdata\local\programs\python\python39\lib\site-packages\setuptools\_distutils\dist.py", line 969, in run_commands
          self.run_command(cmd)
        File "c:\users\lenovo\appdata\local\programs\python\python39\lib\site-packages\setuptools\dist.py", line 1208, in run_command
          super().run_command(command)
        File "c:\users\lenovo\appdata\local\programs\python\python39\lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
          cmd_obj.run()
        File "c:\users\lenovo\appdata\local\programs\python\python39\lib\site-packages\wheel\bdist_wheel.py", line 325, in run
          self.run_command("build")
        File "c:\users\lenovo\appdata\local\programs\python\python39\lib\site-packages\setuptools\_distutils\cmd.py", line 318, in run_command
          self.distribution.run_command(command)
        File "c:\users\lenovo\appdata\local\programs\python\python39\lib\site-packages\setuptools\dist.py", line 1208, in run_command
          super().run_command(command)
        File "c:\users\lenovo\appdata\local\programs\python\python39\lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
          cmd_obj.run()
        File "c:\users\lenovo\appdata\local\programs\python\python39\lib\site-packages\setuptools\_distutils\command\build.py", line 132, in run
          self.run_command(cmd_name)
        File "c:\users\lenovo\appdata\local\programs\python\python39\lib\site-packages\setuptools\_distutils\cmd.py", line 318, in run_command
          self.distribution.run_command(command)
        File "c:\users\lenovo\appdata\local\programs\python\python39\lib\site-packages\setuptools\dist.py", line 1208, in run_command
          super().run_command(command)
        File "c:\users\lenovo\appdata\local\programs\python\python39\lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
          cmd_obj.run()
        File "C:\Users\lenovo\AppData\Local\Temp\pip-install-zfdideoa\dlib_36bb0c7331c64241ba41d26308a57467\setup.py", line 134, in run
          self.build_extension(ext)
        File "C:\Users\lenovo\AppData\Local\Temp\pip-install-zfdideoa\dlib_36bb0c7331c64241ba41d26308a57467\setup.py", line 171, in build_extension
          subprocess.check_call(cmake_setup, cwd=build_folder)
        File "c:\users\lenovo\appdata\local\programs\python\python39\lib\subprocess.py", line 373, in check_call
          raise CalledProcessError(retcode, cmd)
      subprocess.CalledProcessError: Command '["cmake", "C:\\Users\\lenovo\\AppData\\Local\\Temp\\pip-install-zfdideoa\\dlib_36bb0c7331c64241ba41d26308a57467\\tools\\python", "-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:\\Users\\lenovo\\AppData\\Local\\Temp\\pip-install-zfdideoa\\dlib_36bb0c7331c64241ba41d26308a57467\\build\\lib.win-amd64-cpython-39", "-DPYTHON_EXECUTABLE=c:\\users\\lenovo\\appdata\\local\\programs\\python\\python39\\python.exe", "-DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE=C:\\Users\\lenovo\\AppData\\Local\\Temp\\pip-install-zfdideoa\\dlib_36bb0c7331c64241ba41d26308a57467\\build\\lib.win-amd64-cpython-39", "-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
  Running setup.py clean for dlib
Failed to build dlib
Installing collected packages: dlib
  Running setup.py install for dlib ... error
  error: subprocess-exited-with-error

  × Running setup.py install for dlib did not run successfully.
  │ exit code: 1
  ╰─> [72 lines of output]
      running install
      c:\users\lenovo\appdata\local\programs\python\python39\lib\site-packages\setuptools\command\install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
        warnings.warn(
      running build
      running build_py
      running build_ext
      C:\Users\lenovo\AppData\Local\Temp\pip-install-zfdideoa\dlib_36bb0c7331c64241ba41d26308a57467\setup.py:129: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
        if LooseVersion(cmake_version) < '3.1.0':
      Building extension for Python 3.9.0 (tags/v3.9.0:9cf6752, Oct  5 2020, 15:34:40) [MSC v.1927 64 bit (AMD64)]
      Invoking CMake setup: 'cmake C:\Users\lenovo\AppData\Local\Temp\pip-install-zfdideoa\dlib_36bb0c7331c64241ba41d26308a57467\tools\python -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:\Users\lenovo\AppData\Local\Temp\pip-install-zfdideoa\dlib_36bb0c7331c64241ba41d26308a57467\build\lib.win-amd64-cpython-39 -DPYTHON_EXECUTABLE=c:\users\lenovo\appdata\local\programs\python\python39\python.exe -DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE=C:\Users\lenovo\AppData\Local\Temp\pip-install-zfdideoa\dlib_36bb0c7331c64241ba41d26308a57467\build\lib.win-amd64-cpython-39 -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 "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "C:\Users\lenovo\AppData\Local\Temp\pip-install-zfdideoa\dlib_36bb0c7331c64241ba41d26308a57467\setup.py", line 222, in <module>
          setup(
        File "c:\users\lenovo\appdata\local\programs\python\python39\lib\site-packages\setuptools\__init__.py", line 87, in setup
          return distutils.core.setup(**attrs)
        File "c:\users\lenovo\appdata\local\programs\python\python39\lib\site-packages\setuptools\_distutils\core.py", line 185, in setup
          return run_commands(dist)
        File "c:\users\lenovo\appdata\local\programs\python\python39\lib\site-packages\setuptools\_distutils\core.py", line 201, in run_commands
          dist.run_commands()
        File "c:\users\lenovo\appdata\local\programs\python\python39\lib\site-packages\setuptools\_distutils\dist.py", line 969, in run_commands
          self.run_command(cmd)
        File "c:\users\lenovo\appdata\local\programs\python\python39\lib\site-packages\setuptools\dist.py", line 1208, in run_command
          super().run_command(command)
        File "c:\users\lenovo\appdata\local\programs\python\python39\lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
          cmd_obj.run()
        File "c:\users\lenovo\appdata\local\programs\python\python39\lib\site-packages\setuptools\command\install.py", line 68, in run
          return orig.install.run(self)
        File "c:\users\lenovo\appdata\local\programs\python\python39\lib\site-packages\setuptools\_distutils\command\install.py", line 698, in run
          self.run_command('build')
        File "c:\users\lenovo\appdata\local\programs\python\python39\lib\site-packages\setuptools\_distutils\cmd.py", line 318, in run_command
          self.distribution.run_command(command)
        File "c:\users\lenovo\appdata\local\programs\python\python39\lib\site-packages\setuptools\dist.py", line 1208, in run_command
          super().run_command(command)
        File "c:\users\lenovo\appdata\local\programs\python\python39\lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
          cmd_obj.run()
        File "c:\users\lenovo\appdata\local\programs\python\python39\lib\site-packages\setuptools\_distutils\command\build.py", line 132, in run
          self.run_command(cmd_name)
        File "c:\users\lenovo\appdata\local\programs\python\python39\lib\site-packages\setuptools\_distutils\cmd.py", line 318, in run_command
          self.distribution.run_command(command)
        File "c:\users\lenovo\appdata\local\programs\python\python39\lib\site-packages\setuptools\dist.py", line 1208, in run_command
          super().run_command(command)
        File "c:\users\lenovo\appdata\local\programs\python\python39\lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
          cmd_obj.run()
        File "C:\Users\lenovo\AppData\Local\Temp\pip-install-zfdideoa\dlib_36bb0c7331c64241ba41d26308a57467\setup.py", line 134, in run
          self.build_extension(ext)
        File "C:\Users\lenovo\AppData\Local\Temp\pip-install-zfdideoa\dlib_36bb0c7331c64241ba41d26308a57467\setup.py", line 171, in build_extension
          subprocess.check_call(cmake_setup, cwd=build_folder)
        File "c:\users\lenovo\appdata\local\programs\python\python39\lib\subprocess.py", line 373, in check_call
          raise CalledProcessError(retcode, cmd)
      subprocess.CalledProcessError: Command '["cmake", "C:\\Users\\lenovo\\AppData\\Local\\Temp\\pip-install-zfdideoa\\dlib_36bb0c7331c64241ba41d26308a57467\\tools\\python", "-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:\\Users\\lenovo\\AppData\\Local\\Temp\\pip-install-zfdideoa\\dlib_36bb0c7331c64241ba41d26308a57467\\build\\lib.win-amd64-cpython-39", "-DPYTHON_EXECUTABLE=c:\\users\\lenovo\\appdata\\local\\programs\\python\\python39\\python.exe", "-DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE=C:\\Users\\lenovo\\AppData\\Local\\Temp\\pip-install-zfdideoa\\dlib_36bb0c7331c64241ba41d26308a57467\\build\\lib.win-amd64-cpython-39", "-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: legacy-install-failure

× Encountered error while trying to install package.
╰─> dlib

note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.

关键错误信息

日志中明确指出核心问题:

在Windows上构建Python扩展必须使用Visual Studio。出现此错误说明你未安装Visual C++。注意Visual Studio有多个版本,比如针对C#开发的版本,你需要安装针对C++开发的Visual Studio。

已尝试操作

  • pip install cmake:执行成功
  • pip install dlib:执行失败

解决步骤

  • 下载安装Visual Studio社区版(免费),安装过程中必须勾选「桌面开发使用C++」组件,该组件包含MSVC编译器、Windows SDK等编译dlib必需的工具
  • 安装完成后,重启你的命令行终端或开发环境,确保编译器相关环境变量生效
  • 重新执行pip install dlib;若仍有编译问题,可尝试安装预编译的dlib包,跳过自行编译步骤:pip install dlib-bin

内容的提问来源于stack exchange,提问作者user20909913

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 08:50:24