在 Windows 10 上使用 pip 安装 dlib 失败

Installation of dlib with pip fails on Windows 10

我尝试了很多安装 pip install dlib,但它总是显示错误,我重新安装了 cmake

我收到错误:

pip install dlib
Collecting dlib
  Using cached https://files.pythonhosted.org/packages/1e/62/aacb236d21fbd08148b1d517d58a9d80ea31bdcd386d26f21f8b23b1eb28/dlib-19.18.0.tar.gz
Building wheels for collected packages: dlib
  Building wheel for dlib (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: 'c:\program files\python37\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\hp\AppData\Local\Temp\pip-install-yynf7mue\dlib\setup.py'"'"'; __file__='"'"'C:\Users\hp\AppData\Local\Temp\pip-install-yynf7mue\dlib\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d 'C:\Users\hp\AppData\Local\Temp\pip-wheel-0eyy_3vd' --python-tag cp37
       cwd: C:\Users\hp\AppData\Local\Temp\pip-install-yynf7mue\dlib\
  Complete output (55 lines):
  running bdist_wheel
  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.7.4 (tags/v3.7.4:e09359112e, Jul  8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)]
  Invoking CMake setup: 'cmake C:\Users\hp\AppData\Local\Temp\pip-install-yynf7mue\dlib\tools\python -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:\Users\hp\AppData\Local\Temp\pip-install-yynf7mue\dlib\build\lib.win-amd64-3.7 -DPYTHON_EXECUTABLE=c:\program files\python37\python.exe -DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE=C:\Users\hp\AppData\Local\Temp\pip-install-yynf7mue\dlib\build\lib.win-amd64-3.7 -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/hp/AppData/Local/Temp/pip-install-yynf7mue/dlib/build/temp.win-amd64-3.7/Release/CMakeFiles/CMakeOutput.log".
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "C:\Users\hp\AppData\Local\Temp\pip-install-yynf7mue\dlib\setup.py", line 261, in <module>
      'Topic :: Software Development',
    File "c:\program files\python37\lib\site-packages\setuptools\__init__.py", line 145, in setup
      return distutils.core.setup(**attrs)
    File "c:\program files\python37\lib\distutils\core.py", line 148, in setup
      dist.run_commands()
    File "c:\program files\python37\lib\distutils\dist.py", line 966, in run_commands
      self.run_command(cmd)
    File "c:\program files\python37\lib\distutils\dist.py", line 985, in run_command
      cmd_obj.run()
    File "c:\program files\python37\lib\site-packages\wheel\bdist_wheel.py", line 192, in run
      self.run_command('build')
    File "c:\program files\python37\lib\distutils\cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "c:\program files\python37\lib\distutils\dist.py", line 985, in run_command
      cmd_obj.run()
    File "c:\program files\python37\lib\distutils\command\build.py", line 135, in run
      self.run_command(cmd_name)
    File "c:\program files\python37\lib\distutils\cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "c:\program files\python37\lib\distutils\dist.py", line 985, in run_command
      cmd_obj.run()
    File "C:\Users\hp\AppData\Local\Temp\pip-install-yynf7mue\dlib\setup.py", line 135, in run
      self.build_extension(ext)
    File "C:\Users\hp\AppData\Local\Temp\pip-install-yynf7mue\dlib\setup.py", line 172, in build_extension
      subprocess.check_call(cmake_setup, cwd=build_folder)
    File "c:\program files\python37\lib\subprocess.py", line 347, in check_call
      raise CalledProcessError(retcode, cmd)
  subprocess.CalledProcessError: Command '['cmake', 'C:\Users\hp\AppData\Local\Temp\pip-install-yynf7mue\dlib\tools\python', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:\Users\hp\AppData\Local\Temp\pip-install-yynf7mue\dlib\build\lib.win-amd64-3.7', '-DPYTHON_EXECUTABLE=c:\program files\python37\python.exe', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE=C:\Users\hp\AppData\Local\Temp\pip-install-yynf7mue\dlib\build\lib.win-amd64-3.7', '-A', 'x64']' returned non-zero exit status 1.
  ----------------------------------------
  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: Command errored out with exit status 1:
     command: 'c:\program files\python37\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\hp\AppData\Local\Temp\pip-install-yynf7mue\dlib\setup.py'"'"'; __file__='"'"'C:\Users\hp\AppData\Local\Temp\pip-install-yynf7mue\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\hp\AppData\Local\Temp\pip-record-qzmuuf53\install-record.txt' --single-version-externally-managed --compile
         cwd: C:\Users\hp\AppData\Local\Temp\pip-install-yynf7mue\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.7.4 (tags/v3.7.4:e09359112e, Jul  8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)]
    Invoking CMake setup: 'cmake C:\Users\hp\AppData\Local\Temp\pip-install-yynf7mue\dlib\tools\python -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:\Users\hp\AppData\Local\Temp\pip-install-yynf7mue\dlib\build\lib.win-amd64-3.7 -DPYTHON_EXECUTABLE=c:\program files\python37\python.exe -DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE=C:\Users\hp\AppData\Local\Temp\pip-install-yynf7mue\dlib\build\lib.win-amd64-3.7 -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/hp/AppData/Local/Temp/pip-install-yynf7mue/dlib/build/temp.win-amd64-3.7/Release/CMakeFiles/CMakeOutput.log".
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\hp\AppData\Local\Temp\pip-install-yynf7mue\dlib\setup.py", line 261, in <module>
        'Topic :: Software Development',
      File "c:\program files\python37\lib\site-packages\setuptools\__init__.py", line 145, in setup
        return distutils.core.setup(**attrs)
      File "c:\program files\python37\lib\distutils\core.py", line 148, in setup
        dist.run_commands()
      File "c:\program files\python37\lib\distutils\dist.py", line 966, in run_commands
        self.run_command(cmd)
      File "c:\program files\python37\lib\distutils\dist.py", line 985, in run_command
        cmd_obj.run()
      File "c:\program files\python37\lib\site-packages\setuptools\command\install.py", line 61, in run
        return orig.install.run(self)
      File "c:\program files\python37\lib\distutils\command\install.py", line 545, in run
        self.run_command('build')
      File "c:\program files\python37\lib\distutils\cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "c:\program files\python37\lib\distutils\dist.py", line 985, in run_command
        cmd_obj.run()
      File "c:\program files\python37\lib\distutils\command\build.py", line 135, in run
        self.run_command(cmd_name)
      File "c:\program files\python37\lib\distutils\cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "c:\program files\python37\lib\distutils\dist.py", line 985, in run_command
        cmd_obj.run()
      File "C:\Users\hp\AppData\Local\Temp\pip-install-yynf7mue\dlib\setup.py", line 135, in run
        self.build_extension(ext)
      File "C:\Users\hp\AppData\Local\Temp\pip-install-yynf7mue\dlib\setup.py", line 172, in build_extension
        subprocess.check_call(cmake_setup, cwd=build_folder)
      File "c:\program files\python37\lib\subprocess.py", line 347, in check_call
        raise CalledProcessError(retcode, cmd)
    subprocess.CalledProcessError: Command '['cmake', 'C:\Users\hp\AppData\Local\Temp\pip-install-yynf7mue\dlib\tools\python', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:\Users\hp\AppData\Local\Temp\pip-install-yynf7mue\dlib\build\lib.win-amd64-3.7', '-DPYTHON_EXECUTABLE=c:\program files\python37\python.exe', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE=C:\Users\hp\AppData\Local\Temp\pip-install-yynf7mue\dlib\build\lib.win-amd64-3.7', '-A', 'x64']' returned non-zero exit status 1.
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'c:\program files\python37\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\hp\AppData\Local\Temp\pip-install-yynf7mue\dlib\setup.py'"'"'; __file__='"'"'C:\Users\hp\AppData\Local\Temp\pip-install-yynf7mue\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\hp\AppData\Local\Temp\pip-record-qzmuuf53\install-record.txt' --single-version-externally-managed --compile Check the logs for full command output.

执行以下操作:

1.go 到 github repository of dlib package

2.click绿色按钮上面写着clone or download

3.Then 点击下载 Zip

4.after下载完成,解压zip文件并保存在桌面

注意:首先安装 CMake,然后开始执行其他步骤。

5.go到dlib-master/dlib-master复制dlib-master文件夹目录 如果您按照这些步骤操作,对您来说应该是 C:\Users\(you'r username)\Desktop\dlib-master\dlib-master

6.Then 打开 pwershell 并输入 cd C:\Users\(you'r username)\Desktop\dlib-master\dlib-master

注意:如果您没有正确安装CMake,请考虑安装它,这样您就可以毫无问题地安装dlib模块。

7.When 您通过键入上述命令更改了当前工作目录,然后键入 python setup.py install

8.If你已经安装了cmake,那么这个包就可以轻松完美地安装了。

答案已更新

进一步阅读:How to manually install a pypi module without pip/easy_install?

这里我得到了第

行的错误

CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage

我按照@Moh Vahedi 的说法执行了setup.py,但在cmd 中出现了以下错误:

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++.

所以我现在正在安装 VS:)

这个问题也写在这里: