一、前言

所谓【历险】其实就是折腾!直到现在,我坚定这样的信条:一个经不起折腾的程序员不是一个好程序员!在开源世界尤其如此。

本文测试初始环境:

  • Windows7 64位
  • python 3.8.4

face_recognition严重依赖dlib,因此,要想face_recognition必须先安装dlib库。但是,【引用】处作者仅提供了有关开源源码,需要我们自己编译成需要的python库。因此,搭建编译这个python需要的dlib库的环境就成了最终安装face_recognition库的关键。

二、安装dlib

1、首先需要从网上下载dlib:

http://dlib.net/ 

下载完成(我选择上午,或者清晨下载,速度在家中小区网通光纤宽带环境非常快,其中下载dlib-19.14时用了约不到5秒;但是,晚上下载了N次都是失败!!!)后,解压缩得到如下图结构(图中显示的是19.22版本,本文测试中使用了19.14版本):

Windows7安装face_recognition历险记_boost

2、尝试直接编译dlib库

根据一些简单网文的“误导”。接下来,我尝试直接编译dlib库:

打开WINDOWS DOS终端,并且定位在dlib文件夹,使用python setup.py install编译,结果失败!

现在总结来看,原因就在于本机上还没有搭建完编译需要的工具与相关库文件所致!但是,根据网络资料及后面【引用】中第3篇提示,需要安装Visual Studio 2015或者更高版本,目的是使用其C++编译器相关的几个工具。还好,我在上午下载的,自然是【社区版】,因为一方面这个可以是免费的,属于正版,再就是我的目的简单,安装社区版本已经足够。细心的读者可以注意这一点。尽管Visual Studio 2019将近10G,但是下载 安装还算顺利,前后时间0.5小时左右。早晨操作的话,我估计10分钟足够!因此,早晨时间对于程序员来说我觉得的是非常宝贵的,只可怜此时很多“老猿”们还在睡梦中。

3、安装Visual Studio2019

根据网络上“误导”文章,并经过多次失败后,我决定安装Visual Studio 2019,于是有了上一段故事,还好,一切顺利!

之后,找到安装位置,并将cl.exe 的路径加入到环境变量中,这是必需的一步!之后,在命令行下运行cl(不是c1!)出现有关使用格式的提示,说明操作正确。

4、安装cmake

命令提示符下运行pip install cmake命令。然后将安装成功的cmake文件夹中的bin文件的路径写入到环境变量中,见到如下截图说明cmake配置成功!

Windows7安装face_recognition历险记_dlib_02

注意,我是根据文后【引用】4安装的CMake。当然,也使用pip执行了上面的库安装!

三、安装cmake编译环境

1、官网下载安装包:

https://cmake.org/download/

得到:cmake-3.21.1-windows-x86_64.msi

Windows7安装face_recognition历险记_cmake_03

 

Windows7安装face_recognition历险记_face_recognition_04

 

Windows7安装face_recognition历险记_cmake_05

2、下载完成之后,解压缩

然后将cmake的bin文件夹添加在系统环境路径中!

四、安装boost库

pip install boost安装即可,比较顺利!

五、再次编译生成dlib库并安装

还是回转到你以前下载的dlib文件夹下,运行如下命令:

python setup.py install

此命令的执行将会先后调用上面的安装工具,需要时间较长。我在早晨操作的,耗费时间近20分钟,但是由于在本地运行,一切还算顺利!

最终编译生成python版本的dlib库,并安装到python库中。操作最后,参考下图:

Windows7安装face_recognition历险记_dlib_06

注意,上图中我操作的是dlib 19.14版本。

六、安装face_recognition库

Windows7安装face_recognition历险记_face_recognition_07

因为是早晨操作的,速度显示为每秒几M,最后安装成功!

七、小结

教训主要有两点:第一,缺乏周边知识是导致频繁折腾的主要原因;第二,确保网络畅通和满意的网速非常重要!现在来看,上面所有试验,如果选择在早上,节约至少两倍时间!

部分引用