写在前面:
在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的路径)
重启,重复上一步骤,出现下面界面就是好啦: