在 windows10 上安装 dlib 失败

Fail to install dlib on windows10

看了一个关于人脸识别的 YouTube 视频,我安装了 Python 3.8.2,然后是 CMAKE,然后是 dlib。 dlib 失败并显示以下消息。起初我有 python 32 位,然后我删除它并安装 64 位版本,同样的问题。有什么想法吗?

我在另一台电脑上做了同样的流程,也有类似的错误,安装CMake后解决。在这种情况下,安装了 CMake。 我错过了什么?

C:\Users\NH5>pip install dlib
Defaulting to user installation because normal site-packages is not writeable
Collecting dlib
  Using cached dlib-19.19.0.tar.gz (3.2 MB)
Could not build wheels for dlib, since package 'wheel' is not installed.
Installing collected packages: dlib
    Running setup.py install for dlib ... error
    ERROR: Command errored out with exit status 1:
     command: 'c:\program files\python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\NH5\AppData\Local\Temp\pip-install-7c571567\dlib\setup.py'"'"'; __file__='"'"'C:\Users\NH5\AppData\Local\Temp\pip-install-7c571567\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\NH5\AppData\Local\Temp\pip-record-wm_xgg14\install-record.txt' --single-version-externally-managed --user --prefix= --compile --install-headers 'C:\Users\NH5\AppData\Roaming\Python\Python38\Include\dlib'
         cwd: C:\Users\NH5\AppData\Local\Temp\pip-install-7c571567\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.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)]
    Invoking CMake setup: 'cmake C:\Users\NH5\AppData\Local\Temp\pip-install-7c571567\dlib\tools\python -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:\Users\NH5\AppData\Local\Temp\pip-install-7c571567\dlib\build\lib.win-amd64-3.8 -DPYTHON_EXECUTABLE=c:\program files\python38\python.exe -DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE=C:\Users\NH5\AppData\Local\Temp\pip-install-7c571567\dlib\build\lib.win-amd64-3.8 -A x64'
    -- Building for: NMake Makefiles
    CMake Error at CMakeLists.txt:3 (project):
      Generator

        NMake Makefiles

      does not support platform specification, but platform

        x64

      was specified.


    CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
    CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
    -- Configuring incomplete, errors occurred!
    See also "C:/Users/NH5/AppData/Local/Temp/pip-install-7c571567/dlib/build/temp.win-amd64-3.8/Release/CMakeFiles/CMakeOutput.log".
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\NH5\AppData\Local\Temp\pip-install-7c571567\dlib\setup.py", line 223, in <module>
        setup(
      File "c:\program files\python38\lib\site-packages\setuptools\__init__.py", line 145, in setup
        return distutils.core.setup(**attrs)
      File "c:\program files\python38\lib\distutils\core.py", line 148, in setup
        dist.run_commands()
      File "c:\program files\python38\lib\distutils\dist.py", line 966, in run_commands
        self.run_command(cmd)
      File "c:\program files\python38\lib\distutils\dist.py", line 985, in run_command
        cmd_obj.run()
      File "c:\program files\python38\lib\site-packages\setuptools\command\install.py", line 61, in run
        return orig.install.run(self)
      File "c:\program files\python38\lib\distutils\command\install.py", line 545, in run
        self.run_command('build')
      File "c:\program files\python38\lib\distutils\cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "c:\program files\python38\lib\distutils\dist.py", line 985, in run_command
        cmd_obj.run()
      File "c:\program files\python38\lib\distutils\command\build.py", line 135, in run
        self.run_command(cmd_name)
      File "c:\program files\python38\lib\distutils\cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "c:\program files\python38\lib\distutils\dist.py", line 985, in run_command
        cmd_obj.run()
      File "C:\Users\NH5\AppData\Local\Temp\pip-install-7c571567\dlib\setup.py", line 135, in run
        self.build_extension(ext)
      File "C:\Users\NH5\AppData\Local\Temp\pip-install-7c571567\dlib\setup.py", line 172, in build_extension
        subprocess.check_call(cmake_setup, cwd=build_folder)
      File "c:\program files\python38\lib\subprocess.py", line 364, in check_call
        raise CalledProcessError(retcode, cmd)
    subprocess.CalledProcessError: Command '['cmake', 'C:\Users\NH5\AppData\Local\Temp\pip-install-7c571567\dlib\tools\python', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:\Users\NH5\AppData\Local\Temp\pip-install-7c571567\dlib\build\lib.win-amd64-3.8', '-DPYTHON_EXECUTABLE=c:\program files\python38\python.exe', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE=C:\Users\NH5\AppData\Local\Temp\pip-install-7c571567\dlib\build\lib.win-amd64-3.8', '-A', 'x64']' returned non-zero exit status 1.
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'c:\program files\python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\NH5\AppData\Local\Temp\pip-install-7c571567\dlib\setup.py'"'"'; __file__='"'"'C:\Users\NH5\AppData\Local\Temp\pip-install-7c571567\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\NH5\AppData\Local\Temp\pip-record-wm_xgg14\install-record.txt' --single-version-externally-managed --user --prefix= --compile --install-headers 'C:\Users\NH5\AppData\Roaming\Python\Python38\Include\dlib' Check the logs for full command output.

C:\Users\NH5>

试试 deepface。它是 OS 独立的。

#!pip install deepface
from deepface import DeepFace

#face verification
obj = DeepFace.verify("img1.jpg", "img2.jpg")

#face recognition
df = DeepFace.find(img_path = "img1.jpg", db_path = "C:/workspace/my_db")

查找功能在 my_db 文件夹中查找 img1.jpg 的身份。