Linux下安装 Python人脸识别 face_recognition 模块

系统环境:CentOS6.7

Anaconda版本:Anaconda3-5.1.0-Linux-x86_64

Python版本:Python-3.6.4

1. yum安装cmake、boost

yum install cmake boost

2. yum安装gcc gcc-c++

yum install gcc gcc-c++

先利用yum安装系统现有版本,再升级至4.8.1后卸载yum版本

3. 用conda安装dlib包

# conda install dlib

[root@hadoop7 pkgs]# condainstall dlib

Solving environment: done

 

==> WARNING: A newer versionof conda exists. <==

  current version: 4.4.10

  latest version: 4.5.1

 

Please update conda by running

 

    $ conda update -n base conda

 

## Package Plan ##

 

  environment location: /root/anaconda3

 

  added / updated specs:

    - dlib

 

The following packages will bedownloaded:

 

    package                    |            build

   ---------------------------|-----------------

    ca-certificates-2018.1.18  |                0         140 KB conda-forge

    numpy-1.14.2               |py36_blas_openblas_200         9.0 MB conda-forge

    openssl-1.0.2o             |                0         3.5 MB conda-forge

    blas-1.1                   |         openblas           1 KB conda-forge

    sqlite-3.20.1              |                0         1.3 MB conda-forge

    certifi-2018.1.18          |           py36_0         143 KB conda-forge

    scipy-1.0.1                |py36_blas_openblas_200        39.8 MB conda-forge

    scikit-learn-0.19.1        |py36_blas_openblas_201        12.8 MB conda-forge

    libgfortran-3.0.0          |                1         281 KB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free

    openblas-0.2.20            |                7        17.0 MB conda-forge

    dlib-19.10                 |py36_blas_openblas_200         2.3 MB conda-forge

    ------------------------------------------------------------

                                          Total:        86.3 MB

 

The following NEW packages willbe INSTALLED:

 

    blas:            1.1-openblas                 conda-forge                                           

    dlib:            19.10-py36_blas_openblas_200conda-forge                                            [blas_openblas]

    libgfortran:     3.0.0-1                     https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free

    openblas:        0.2.20-7                     conda-forge                                           

 

The following packages will beREMOVED:

 

    anaconda:        5.1.0-py36_2                 defaults                                              

 

The following packages will beUPDATED:

 

    ca-certificates: 2017.08.26-h1d4fec5_0        defaults                                               --> 2018.1.18-0                  conda-forge

    certifi:         2018.1.18-py36_0             defaults                                               --> 2018.1.18-py36_0             conda-forge

    numpy:           1.14.0-py36h3dfced4_1        defaults                                                -->1.14.2-py36_blas_openblas_200 conda-forge [blas_openblas]

    openssl:         1.0.2n-hb7f436b_0            defaults                                               --> 1.0.2o-0                     conda-forge

    scikit-learn:    0.19.1-py36h7aa7ec6_0        defaults                                               --> 0.19.1-py36_blas_openblas_201 conda-forge [blas_openblas]

    scipy:           1.0.0-py36hbf646e7_0         defaults                                               --> 1.0.1-py36_blas_openblas_200 conda-forge [blas_openblas]

 

The following packages will beDOWNGRADED:

 

    sqlite:          3.22.0-h1bed415_0            defaults                                               --> 3.20.1-0                     conda-forge

Proceed ([y]/n)? y


可以看到需要下载好多其它依赖包,输入y后会自动下载安装。如果下载失败可以手动下载安装文件安装

如:

cd /path/anaconda3/pkgs (包默认安装路径)

wgethttps://ffmpeg.org/releases/ffmpeg-3.4.2.tar.bz2

conda install ffmpeg-3.4.2.tar.bz2

4. face_recgnition的pip安装

# pip install face_recgnition

可能发生的报错:“/usr/lib64/libstdc++.so.6: version 'GLIBCXX_3.4.19' not found”

face_recognition模块安装时,如果报错“Unsupportedcompiler-- pybind11 requires C++11 support!”,说明gcc版本不够高,可升级gcc,方法:

下载gcc最新版

wgethttp://ftp.gnu.org/gnu/gcc/gcc-4.8.1/gcc-4.8.1.tar.gz

然后解压到文件夹

tar -xvzf gcc-4.8.1.tar.gz

进入解压缩之后的目录

cd gcc-4.8.1

然后执行下面的运行

./contrib/download_prerequisites

再返回上一层,建立build_gcc_4.8.1目录,这个目录和gcc-4.8.1平行

cd ..

mkdir build_gcc_4.8.1

进入刚建立的目录,并执行编译过程

cd build_gcc_4.8.1

../gcc-4.8.1/configure--enable-checking=release --enable-languages=c,c++ --disable-multilib

make -j23

make install

OK,在build_gcc_4.8.1中将gcc已经安装完成

确定新安装的GCC的路径,之前安装时记下最后mv时的路径即可,我是默认安在了/usr/local/bin

ls /usr/local/bin | grep gcc

执行:

/usr/sbin/update-alternatives --install/usr/bin/gcc gcc /usr/local/bin/x86_64-unknown-linux-gnu-gcc-4.8.1 40

gcc --version      #查看版本

/usr/sbin/update-alternatives--install/usr/bin/g++ g++ /usr/local/bin/g++ 40

g++ --version     #查看版本

高版本gcc安装完成后,再利用“yum remove gcc-c++”和“yum remove gcc”来卸载低版本的gcc编译器

再安装face_recgnition 会成功

# pip install face_recgnition

5.测试导入包

[root@hadoop8 pkgs]# python

Python 3.6.4 |Anaconda, Inc.| (default, Jan16 2018, 18:10:19)

[GCC 7.2.0] on linux

Type "help","copyright", "credits" or "license" for moreinformation.

>>> import dlib

>>> import face_recognition

>>>exit()

6. 其它安装问题

手动Dlib安装可能发生的意外情况:

报错1:build时,报错“The CXX compiler identification is unknown”。这种情况需安装gcc(作为CXXcompiler),需注意的问题参见上下文。

报错2:build时,报错“Could NOT find PythonLibs (missing: PYTHON_INCLUDE_DIRS)”,这种情况,cmake命令中需指定:

-DPYTHON_INCLUDE_DIR=/usr/python/include/python3.6m(具体机器路径不同,此路径应为Python.h文件存在的安装路径)

-DPYTHON_LIBRARY=/usr/python/lib/libpython3.so(具体机器路径不同,此路径应为libpython.**.so文件存在的安装路径)

完整命令如下:在dlib的源码中的build路径下输入cmake -DPYTHON_INCLUDE_DIR=/usr/python/include/python3.6m-DPYTHON_LIBRARY=/usr/python/lib/libpython3.so ../../tools/python/

猜你喜欢

转载自blog.csdn.net/lichangzai/article/details/79963808