写在前面:

在pip官网搜face_recognition https://pypi.org/project/face_recognition/

介绍中可看出该包更适合在Linux系统中使用,但也附上了在Windows系统中安装的须知:https://github.com/ageitgey/face_recognition/issues/175#issue-257710508

另外其他几个参考链接:https://blog.csdn.net/wyc12306/article/details/79286361

https://blog.csdn.net/Im1smb/article/details/78073563#t6

https://my.oschina.net/u/2428854/blog/1797473

https://www.jianshu.com/p/eb4bec6459c7

结合自己实际操作的过程,总结如下:

必须:

  • 安装了C/C++ 编译器的Microsoft Visual Studio 2015 问题①
  • Boost 库,V1.63或者更新的版本 问题②
  • Python3
  • CMake,Windows安装时要将其路径加入环境变量 问题③
  • face_recognition一般要配合OpenCV使用,附上手动安装OpenCV包的教程:http://www.ywlib.com/archives/39.html

安装:

使用pip:

  • pip install dlib
  • pip install face_recognition

手动安装:

  • 1.下载并安装 scipy 和 numpy+mkl(must be mkl version)包,网址:https://www.lfd.uci.edu/~gohlke/pythonlibs/  下载与你的python版本相对应的版本。
  • 2. 针对你当前的MSVC下载 Boost 库的源代码或二进制版本,网址:https://sourceforge.net/projects/boost/files/  编译boost
  • 3.下载最新版本的 dlib 并解压它,网址:https://github.com/davisking/dlib
    • 到dlib的路径下,打开cmd命令行窗口,输入:
    • set BOOST_ROOT=C:\local\boost_X_XX_X
    • set BOOST_LIBRARYDIR=C:\local\boost_X_XX_X\stage\lib
    • python setup.py install
  • 4. 安装成功后,进入python解释器输入 import dlib 或 pip show dlib 验证是否安装成功
  • 5. 输入 pip install face_recognition 安装face_recognition包

问题①:

本机已安装Visual Studio 2017,可打开Visual Studio Installer,点击“修改”,工作负载中勾选“使用C++的桌面开发”

 单个组件中勾选:

  安装。

问题②:

cmd命令行窗口进入boost_1_71_0,输入bootstrap.bat,如果报错,查看bootstrap.log

LOCALAPPDATA=C:\Users\F68OHG\AppData\Local
Found with vswhere Visual Studio Locator version 2.5.2+gebb9f26a3d [query version 1.18.21.37008]
###
### "Unknown toolset: vcunk"
###
### You can specify the toolset as the argument, i.e.:
###     .\build.bat msvc
###
### Toolsets supported by this script are: borland, como, gcc,
###     gcc-nocygwin, intel-win32, metrowerks, mingw,
###     vc11, vc12, vc14, vc141, vc142
###
### If you have Visual Studio 2017 installed you will need to either update
### the Visual Studio 2017 installer or run from VS 2017 Command Prompt
### as we where unable to detect your toolset installation.
###

按照提示,使用Visual Studio的命令行窗口,

 改为输入.\bootstrap.bat  msvc

就会开始编译,过程大概半小时。

问题③:

参考:CSDN博主「Toblerone_Wind」https://blog.csdn.net/qq_42276781/article/details/88594870

本来在CMake官网下载并安装了CMake,但在安装dlib的时候报错:

Building extension for Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)]
Invoking CMake setup: 'cmake E:\dlib-19.15\tools\python -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=E:\dlib-19.15\build\lib.win-amd64-3.7 -DPYTHON_EXECUTABLE=C:\Users\87328\AppData\Local\Programs\Python\Python37\python.exe -DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE=E:\dlib-19.15\build\lib.win-amd64-3.7 -A x64'
CMake Error in CMakeLists.txt:
  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 "E:/dlib-19.15/build/temp.win-amd64-3.7/Release/CMakeFiles/CMakeOutput.log".
Traceback (most recent call last):
  File "setup.py", line 257, in <module>
    'Topic :: Software Development',
  File "C:\Users\87328\AppData\Local\Programs\Python\Python37\lib\site-packages\setuptools\__init__.py", line 129, in setup
    return distutils.core.setup(**attrs)
  File "C:\Users\87328\AppData\Local\Programs\Python\Python37\lib\distutils\core.py", line 148, in setup
    dist.run_commands()
  File "C:\Users\87328\AppData\Local\Programs\Python\Python37\lib\distutils\dist.py", line 966, in run_commands
    self.run_command(cmd)
  File "C:\Users\87328\AppData\Local\Programs\Python\Python37\lib\distutils\dist.py", line 985, in run_command
    cmd_obj.run()
  File "C:\Users\87328\AppData\Local\Programs\Python\Python37\lib\site-packages\setuptools\command\install.py", line 67, in run
    self.do_egg_install()
  File "C:\Users\87328\AppData\Local\Programs\Python\Python37\lib\site-packages\setuptools\command\install.py", line 109, in do_egg_install
    self.run_command('bdist_egg')
  File "C:\Users\87328\AppData\Local\Programs\Python\Python37\lib\distutils\cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "C:\Users\87328\AppData\Local\Programs\Python\Python37\lib\distutils\dist.py", line 985, in run_command
    cmd_obj.run()
  File "C:\Users\87328\AppData\Local\Programs\Python\Python37\lib\site-packages\setuptools\command\bdist_egg.py", line 172, in run
    cmd = self.call_command('install_lib', warn_dir=0)
  File "C:\Users\87328\AppData\Local\Programs\Python\Python37\lib\site-packages\setuptools\command\bdist_egg.py", line 158, in call_command
    self.run_command(cmdname)
  File "C:\Users\87328\AppData\Local\Programs\Python\Python37\lib\distutils\cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "C:\Users\87328\AppData\Local\Programs\Python\Python37\lib\distutils\dist.py", line 985, in run_command
    cmd_obj.run()
  File "C:\Users\87328\AppData\Local\Programs\Python\Python37\lib\site-packages\setuptools\command\install_lib.py", line 11, in run
    self.build()
  File "C:\Users\87328\AppData\Local\Programs\Python\Python37\lib\distutils\command\install_lib.py", line 107, in build
    self.run_command('build_ext')
  File "C:\Users\87328\AppData\Local\Programs\Python\Python37\lib\distutils\cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "C:\Users\87328\AppData\Local\Programs\Python\Python37\lib\distutils\dist.py", line 985, in run_command
    cmd_obj.run()
  File "setup.py", line 133, in run
    self.build_extension(ext)
  File "setup.py", line 170, in build_extension
    subprocess.check_call(cmake_setup, cwd=build_folder)
  File "C:\Users\87328\AppData\Local\Programs\Python\Python37\lib\subprocess.py", line 328, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', 'E:\\dlib-19.15\\tools\\python', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=E:\\dlib-19.15\\build\\lib.win-amd64-3.7', '-DPYTHON_EXECUTABLE=C:\\Users\\87328\\AppData\\Local\\Programs\\Python\\Python37\\python.exe', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE=E:\\dlib-19.15\\build\\lib.win-amd64-3.7', '-A', 'x64']' returned non-zero exit status 1.

其中,根据:

 推断是CMake的版本不匹配,于是使用在Visual Studio Installer安装CMake的方式,单个组件中,勾选“用于CMake的Visual C++工具”:

 然后配置一下path,计算机→属性→高级系统设置→环境变量→Path→编辑→加入C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin  后确定(这个路径改为你本机的CMake的路径)

重启,重复上一步骤,出现下面界面就是好啦:

01-31 17:56