基于python2.7的windows下配置Pyqt4+Dlib+face_recognition人脸识别环境

安装过程中参考的文章如下:

(1)windows下配置face_recognition:

https://github.com/ageitgey/face_recognition/issues/175#issue-257710508

一、系统环境搭建

1.由于本机系统搭配了很多编程环境,担心直接用本机搭配环境会导致系统出现问题,因此在移动硬盘里面创建了win10虚拟机,系统环境为win10 专业版 1703,由于装虚拟机比较简单,采用Vmware WorkStation 14pro即可,4G内存,2核处理器,60G虚拟磁盘,安装过程比较简单便不再记录。

二、编程环境搭建:

1、开发环境:Python 2.7 + PyCharm _2018_3_5_x64

2、依赖环境:(1)Boost_1_69_0

                        (2)VS2015及以上(由于dlib_19以后需要C++11.0,因此需要VS2015及以上,网上有一种不需要VS就可以安装的方法,采用的是直接安装wheel,这个我没有尝试,链接如下:https://blog.csdn.net/baidu_36804484/article/details/88814808)

                       (3)MinGW(用于安装sip)

                       (4)Cmake_3_14_0(编译Boost的时候需要)

 

 

基于python2.7的windows下配置Pyqt4+Dlib+face_recognition人脸识别环境_第1张图片

3、python库环境:

(1)Click:

Click是一个Python包,用于以可组合的方式创建漂亮的命令行界面,并且只需要很少的代码。这是“命令行界面创建工具包”。它具有高度可配置性,但具有开箱即用的合理默认值

https://pypi.org/project/click/

(2)Numpy:

它提供:

  • 一个强大的N维数组对象
  • 复杂的(广播)功能
  • 用于集成C / C ++和Fortran代码的工具
  • 有用的线性代数,傅里叶变换和随机数功能
  • 以及更多

除了明显的科学用途外,NumPy还可以用作通用数据的高效多维容器。可以定义任意数据类型。这使NumPy能够无缝快速地与各种数据库集成。

https://pypi.org/project/numpy/

(3)Pillow:

Python成像库,具体见:https://pypi.org/project/Pillow/

(4)chardet:

用来检测编码,具体见:https://pypi.org/project/chardet2/

(5)face_recognition_model:

程序包仅包含face_recognition使用的模型 https://pypi.org/project/face_recognition_models/

(6)opencv-python(cv2):

opencv的python扩展包,用于Python的非官方预构建OpenCV https://pypi.org/project/opencv-python/

(7)PyQt4:

PyQt4是Digia的Qt跨平台GUI工具包的全套Python绑定。PyQt4支持Python v2和v3

备注:(1)pip包管理工具,setup-tools的安装比较简单,但是是常用的,不会安装自行查找。

           (2)采用的python2.7版本,与python3又很大的差别。

           (3)在python2.7的情况下pip直接安装第三方包,常常会发生SSL错误的问题,总是提示查找不到合适的包,因此在安装的过程中我采用wheel文件安装和源码编译安装的两种方式,接下来我会介绍这两种方式。

           (4)在安装face_recognition的时候,缺失的pillow和dlib自动下载安装的。

           (5)要注意安装的第三方扩展包的位数一定要与自己的python位数一样!!!否则导入的时候会提示dll缺失

4、Python包管理(安装与卸载)

python语言的一个强大的优势它在于具有及其丰富的第三方扩展包,而且非常易于管理。pip就是这样一种管理工具。

(1)Sip简介:

使其如此强大的Python的一个特性是能够获取用C或C ++编写的现有库,并使它们可用作Python扩展模块。此类扩展模块通常称为库的绑定。

SIP是一种工具,可以非常轻松地为C和C ++库创建Python绑定。它最初是为创建PyQt而开发的,PyQt是Qt工具包的Python绑定,但可用于为任何C或C ++库创建绑定。

SIP包括代码生成器和Python模块。代码生成器处理一组规范文件并生成C或C ++代码,然后编译该代码以创建绑定扩展模块。所述SIP Python模块提供支持功能,以自动生成的代码。

规范文件包含C或C ++库接口的描述,即类,方法,函数和变量。规范文件的格式几乎与C或C ++头文件相同,因此创建规范文件的最简单方法是编辑相应的头文件。

SIP使得在高效的解释性编程环境中轻松利用现有的C或C ++库。SIP还可以轻松地使用Python应用程序(可能是原型)并在C或C ++中有选择地实现应用程序的某些部分(可能出于性能原因)。

               

(2)sip安装:

打开Windows的cmd命令行

输如cd ~\python\Lib\site-packages\sip-4.13.2跳转到sip文件夹下。

输入python configure.py --platform win32-g++

(3)pip包管理工具

         pip的安装,网上有很多方法,需要注意的是Python 2> = 2.7.9或Python 3> = 3.4已经默认安装好了pip,具体安装方法请参考 https://pip.pypa.io/en/stable/installing/

 (4)对于第三方包的安装管理,可以采用wheel安装和源码编译安装,简单代码示例如下:

          1.采用wheel: pip Click-7.0-py2.py3-none-any.whl install,需要注意的是在安装的过程中会遇到一些问题,比如:”pip安装报错:is not a supported wheel on this platform“,此时需要修改文件名,具体参考:https://www.cnblogs.com/nice-forever/p/5371906.html

          2.采用源码安装:python setup.py install ,此时需要进入源码所在的目录进行安装。

遇到的问题:

1.第三方包在系统cmd环境下安装好了以后,pycharm中无法导入:

  解决:在设置的python解释器中创建虚拟环境的时候,选择Ineherit System,继承系统的环境即可

5.Boost库的安装

同样是两种方法:二进制文件和源码编译安装,参考文章首部的链接即可。

你可能感兴趣的:(基于python2.7的windows下配置Pyqt4+Dlib+face_recognition人脸识别环境)