如何解决与在 Windows 10 上安装 dlib 相关的问题?

Posted

技术标签:

【中文标题】如何解决与在 Windows 10 上安装 dlib 相关的问题?【英文标题】:How to solve issue related to installation of dlib on Windows 10? 【发布时间】:2020-03-05 17:34:03 【问题描述】:

我正在尝试在 Windows 10 上为 python 3.7 安装 dlib 以进行面部识别,我探索了几种方法,但我遇到了错误。我尝试了以下步骤-

    使用“pip install cmake”安装了 cmake。这行得通。 从 Python 包索引下载 Dlib 源 (.tar.gz):https://pypi.org/project/dlib/#files 解压并进入文件夹。 运行安装:python setup.py install

我遇到了错误。

*

*C:\Program Files\dlib-19.18.0>python setup.py install
running install
running bdist_egg
running egg_info
writing dlib.egg-info\PKG-INFO
writing dependency_links to dlib.egg-info\dependency_links.txt
writing top-level names to dlib.egg-info\top_level.txt
package init file 'dlib\__init__.py' not found (or not a regular file)
reading manifest file 'dlib.egg-info\SOURCES.txt'
reading manifest template 'MANIFEST.in'
no previously-included directories found matching 'tools\python\build*'
no previously-included directories found matching 'dlib\test'
writing manifest file 'dlib.egg-info\SOURCES.txt'
installing library code to build\bdist.win-amd64\egg
running install_lib
running build_py
running build_ext
Building extension for Python 3.7.3 (default, Apr 24 2019, 15:29:51) [MSC v.1915 64 bit (AMD64)]
Invoking CMake setup: 'cmake C:\Program Files\dlib-19.18.0\tools\python -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:\Program Files\dlib-19.18.0\build\lib.win-amd64-3.7 -DPYTHON_EXECUTABLE=C:\Users\Sriparna\Anaconda3\python.exe -DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE=C:\Program Files\dlib-19.18.0\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:/Program Files/dlib-19.18.0/build/temp.win-amd64-3.7/Release/CMakeFiles/CMakeOutput.log".
Traceback (most recent call last):
  File "setup.py", line 261, in <module>
    'Topic :: Software Development',
  File "C:\Users\Sriparna\Anaconda3\lib\site-packages\setuptools\__init__.py", line 145, in setup
    return distutils.core.setup(**attrs)
  File "C:\Users\Sriparna\Anaconda3\lib\distutils\core.py", line 148, in setup
    dist.run_commands()
  File "C:\Users\Sriparna\Anaconda3\lib\distutils\dist.py", line 966, in run_commands
    self.run_command(cmd)
  File "C:\Users\Sriparna\Anaconda3\lib\distutils\dist.py", line 985, in run_command
    cmd_obj.run()
  File "C:\Users\Sriparna\Anaconda3\lib\site-packages\setuptools\command\install.py", line 67, in run
    self.do_egg_install()
  File "C:\Users\Sriparna\Anaconda3\lib\site-packages\setuptools\command\install.py", line 109, in do_egg_install
    self.run_command('bdist_egg')
  File "C:\Users\Sriparna\Anaconda3\lib\distutils\cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "C:\Users\Sriparna\Anaconda3\lib\distutils\dist.py", line 985, in run_command
    cmd_obj.run()
  File "C:\Users\Sriparna\Anaconda3\lib\site-packages\setuptools\command\bdist_egg.py", line 172, in run
    cmd = self.call_command('install_lib', warn_dir=0)
  File "C:\Users\Sriparna\Anaconda3\lib\site-packages\setuptools\command\bdist_egg.py", line 158, in call_command
    self.run_command(cmdname)
  File "C:\Users\Sriparna\Anaconda3\lib\distutils\cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "C:\Users\Sriparna\Anaconda3\lib\distutils\dist.py", line 985, in run_command
    cmd_obj.run()
  File "C:\Users\Sriparna\Anaconda3\lib\site-packages\setuptools\command\install_lib.py", line 11, in run
    self.build()
  File "C:\Users\Sriparna\Anaconda3\lib\distutils\command\install_lib.py", line 107, in build
    self.run_command('build_ext')
  File "C:\Users\Sriparna\Anaconda3\lib\distutils\cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "C:\Users\Sriparna\Anaconda3\lib\distutils\dist.py", line 985, in run_command
    cmd_obj.run()
  File "setup.py", line 135, in run
    self.build_extension(ext)
  File "setup.py", line 172, in build_extension
    subprocess.check_call(cmake_setup, cwd=build_folder)
  File "C:\Users\Sriparna\Anaconda3\lib\subprocess.py", line 347, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', 'C:\\Program Files\\dlib-19.18.0\\tools\\python', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:\\Program Files\\dlib-19.18.0\\build\\lib.win-amd64-3.7', '-DPYTHON_EXECUTABLE=C:\\Users\\Sriparna\\Anaconda3\\python.exe', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE=C:\\Program Files\\dlib-19.18.0\\build\\lib.win-amd64-3.7', '-A', 'x64']' returned non-zero exit status 1.*

*

你能告诉我如何解决这个问题吗?

【问题讨论】:

【参考方案1】:

在我的系统中,我已经使用 Anaconda。 Dlib 库在 conda 环境中支持 python 3.6 到 3.7.0。

按照说明安装人脸识别模型,

    从https://www.anaconda.com/distribution/#download-section安装Anaconda

    在 conda 提示符下,使用此命令创建环境

    conda create --name env_name python=3.7.0

    然后激活环境

    conda 激活 env_name

    安装 dlib

conda install -c conda-forge dlib=19.17

    现在使用 pip 安装 face_recogintion 模型

pip install face_recogntion

【讨论】:

嗨,谢谢。我安装了 Visual Studio,然后从 VS 命令提示符运行 dlib 安装。它工作正常。【参考方案2】:

在 Windows 10 上安装 face_recognition

要求:

    安装了 C/C++ 编译器的 Microsoft Visual Studio 2015(或更新版本)。

    已安装 Microsoft Visual C++ (MSVC) 14.0(需要安装 Visual c++ 构建工具)

    CMake for windows 并将其添加到您的系统环境变量中

    Boost 已安装并添加到系统环境变量中

    与您的操作系统具有相同系统类型的 Python 3(即 64 位、32 位)

为 windows 安装 MSVC 14.0 和 Cmake

    从https://visualstudio.microsoft.com/visual-cpp-build-tools/ 下载 Microsoft C++ 构建工具和 安装 安装完成后,点击 Visual Studio Build Tools 2019 (2) 部分中的修改 转到单个组件选项卡,在编译器、构建工具和运行时下,勾选适用于 Windows 和 MSVC v140 的 C++ CMake 工具
VS 2015 C++ build tools (v14.00) 并点击修改。 Visual Studio 安装程序将开始下载并安装 MSVC 14.0 和 Cmake 你

将 MSVC 14.0 和 Cmake 添加到系统变量

    在搜索选项卡上,输入这台电脑并右键单击,选择属性 进入高级系统设置,在高级选项卡下点击环境变量 在系统变量下,单击新建...并填写以下内容: 名称:VS140COMNTOOLS 值:C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\工具\ 点击确定 在用户变量下,单击名为 Path 的变量,然后单击编辑... 点击新建,填写“C:\Program Files\CMake\bin” 点击确定,再点击确定

安装 Boost 和 face_recognition

    从https://sourceforge.net/projects/boost/files/ 下载当前 MSVC 的 Boost 库源代码或二进制版本 将 Boost 源文件解压缩到 C:\local\boost_1_XX_X(X 表示您拥有的当前版本的 Boost)。您可能需要创建本地 目录 打开Visual Studio的开发者命令提示符,进入Boost解压的当前目录,尝试这些命令编译 提升:bootstrap b2 -a --with-python address-model=64 工具集=msvc 运行时链接=静态 如果你成功编译Boost,它应该在stage目录下创建编译文件 转到命令提示符并键入 $ pip install face_recognition

【讨论】:

以上是关于如何解决与在 Windows 10 上安装 dlib 相关的问题?的主要内容,如果未能解决你的问题,请参考以下文章

Windows安装pycrypto失败记录

pymssql 在 Azure/Windows 上返回的字符集与在 Mac 上不同

我的windows7激活时提示找不到slmgr.vbs。。。请问是啥问题,能解决么么

计算机基础

我无法在 Windows 上安装 pyaudio?如何解决“错误:需要 Microsoft Visual C++ 14.0。”?

查看Windows激活信息