pip安装dlib报错No CMAKE_CXX_COMPILER could be found解决办法

 按照以下步骤安装face_recognition,在安装dlib时出现错误

Read First:
The new version of dlib doesn't need Boost anymore so you can skip it. Remember that you still need to meet the following requirements.
Requirments:
(I've used this tutorial with these tools installed on Windows 10 but the newer versions may work too.)

  1. Microsoft Visual Studio 2015 (or newer) with C/C++ Compiler installed. (Visual C++ 2015 Build Tools didn't work for me and I got into problems in compiling dlib)
  2. Of course Python3 (I used Python3.5 x64 but the other versions may work too)
  3. CMake for windows and add it to your system environment variables.
  4. (ONLY FOR older versions of dlibBoost library version 1.63 or newer. Also, you can use precompiled binaries for specific MSVC you have but I don't suggest. (I've included the compiling procedure of Boost in this tutorial)

Installation:
Easy installation:
Just install dlib and face_recognition (not always on the newest version):
pip install dlib and then pip install face_recognition.

 

错误代码:

CMake Error at CMakeLists.txt:3 (project):
      No CMAKE_CXX_COMPILER could be found.

    ERROR: Command errored out with exit status 1:
     command: 'd:\program\anaconda3\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\PC-CYQ\\AppData\\Local\\Temp\\pip-install-igmqt3oe\\dlib\\setup.py'"'"'; __file__='"'"'C:\\Users\\PC-CYQ\\AppData\\Local\\Temp\\pip-install-igmqt3oe\\dlib\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\PC-CYQ\AppData\Local\Temp\pip-record-h60zshax\install-record.txt' --single-version-externally-managed --compile --install-headers 'd:\program\anaconda3\Include\dlib'
         cwd: C:\Users\PC-CYQ\AppData\Local\Temp\pip-install-igmqt3oe\dlib\
    Complete output (57 lines):
    running install
    running build
    running build_py
    package init file 'dlib\__init__.py' not found (or not a regular file)
    running build_ext
    Building extension for Python 3.6.5 |Anaconda, Inc.| (default, Mar 29 2018, 13:32:41) [MSC v.1900 64 bit (AMD64)]
    Invoking CMake setup: 'cmake C:\Users\PC-CYQ\AppData\Local\Temp\pip-install-igmqt3oe\dlib\tools\python -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:\Users\PC-CYQ\AppData\Local\Temp\pip-install-igmqt3oe\dlib\build\lib.win-amd64-3.6 -DPYTHON_EXECUTABLE=d:\program\anaconda3\python.exe -DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE=C:\Users\PC-CYQ\AppData\Local\Temp\pip-install-igmqt3oe\dlib\build\lib.win-amd64-3.6 -A x64'
    -- Building for: Visual Studio 14 2015
    -- Selecting Windows SDK version  to target Windows 10.0.17134.
    -- The C compiler identification is unknown
    -- The CXX compiler identification is unknown
    CMake Error at CMakeLists.txt:3 (project):
      No CMAKE_C_COMPILER could be found.



    CMake Error at CMakeLists.txt:3 (project):
      No CMAKE_CXX_COMPILER could be found.



    -- Configuring incomplete, errors occurred!
    See also "C:/Users/PC-CYQ/AppData/Local/Temp/pip-install-igmqt3oe/dlib/build/temp.win-amd64-3.6/Release/CMakeFiles/CMakeOutput.log".
    See also "C:/Users/PC-CYQ/AppData/Local/Temp/pip-install-igmqt3oe/dlib/build/temp.win-amd64-3.6/Release/CMakeFiles/CMakeError.log".
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\PC-CYQ\AppData\Local\Temp\pip-install-igmqt3oe\dlib\setup.py", line 261, in <module>
        'Topic :: Software Development',
      File "d:\program\anaconda3\lib\site-packages\setuptools\__init__.py", line 144, in setup
        return distutils.core.setup(**attrs)
      File "d:\program\anaconda3\lib\distutils\core.py", line 148, in setup
        dist.run_commands()
      File "d:\program\anaconda3\lib\distutils\dist.py", line 955, in run_commands
        self.run_command(cmd)
      File "d:\program\anaconda3\lib\distutils\dist.py", line 974, in run_command
        cmd_obj.run()
      File "d:\program\anaconda3\lib\site-packages\setuptools\command\install.py", line 61, in run
        return orig.install.run(self)
      File "d:\program\anaconda3\lib\distutils\command\install.py", line 545, in run
        self.run_command('build')
      File "d:\program\anaconda3\lib\distutils\cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "d:\program\anaconda3\lib\distutils\dist.py", line 974, in run_command
        cmd_obj.run()
      File "d:\program\anaconda3\lib\distutils\command\build.py", line 135, in run
        self.run_command(cmd_name)
      File "d:\program\anaconda3\lib\distutils\cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "d:\program\anaconda3\lib\distutils\dist.py", line 974, in run_command
        cmd_obj.run()
      File "C:\Users\PC-CYQ\AppData\Local\Temp\pip-install-igmqt3oe\dlib\setup.py", line 135, in run
        self.build_extension(ext)
      File "C:\Users\PC-CYQ\AppData\Local\Temp\pip-install-igmqt3oe\dlib\setup.py", line 172, in build_extension
        subprocess.check_call(cmake_setup, cwd=build_folder)
      File "d:\program\anaconda3\lib\subprocess.py", line 291, in check_call
        raise CalledProcessError(retcode, cmd)
    subprocess.CalledProcessError: Command '['cmake', 'C:\\Users\\PC-CYQ\\AppData\\Local\\Temp\\pip-install-igmqt3oe\\dlib\\tools\\python', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:\\Users\\PC-CYQ\\AppData\\Local\\Temp\\pip-install-igmqt3oe\\dlib\\build\\lib.win-amd64-3.6', '-DPYTHON_EXECUTABLE=d:\\program\\anaconda3\\python.exe', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE=C:\\Users\\PC-CYQ\\AppData\\Local\\Temp\\pip-install-igmqt3oe\\dlib\\build\\lib.win-amd64-3.6', '-A', 'x64']' returned non-zero exit status 1.
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'd:\program\anaconda3\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\PC-CYQ\\AppData\\Local\\Temp\\pip-install-igmqt3oe\\dlib\\setup.py'"'"'; __file__='"'"'C:\\Users\\PC-CYQ\\AppData\\Local\\Temp\\pip-install-igmqt3oe\\dlib\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\PC-CYQ\AppData\Local\Temp\pip-record-h60zshax\install-record.txt' --single-version-externally-managed --compile --install-headers 'd:\program\anaconda3\Include\dlib' Check the logs for full command output.

 

解决办法: 

VS2015最高支持14393版本的SDK,之后的从15063起就必须要VS2017,很多人出现VS找不到rc.ex和cl.exe的问题,就是没有安装SDK或安装了VS不支持的SDK版本;”* 。又在windows 官网上找到“Windows 10 development targeting Windows 10, version 1809 (or later) requires Visual Studio 2017. This SDK will not be discovered by previous versions of Visual Studio.”。于是尝试在windows SDK方面尝试。

下载14393版本的SDK

安装好后再执行pip install dlib即可成功安装


 

 


版权声明:本文为qq_38316655原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。