在centos上安装python人脸库face_recognition

前段时间看了看python和face_recognition,用来识别人脸和对比人脸,发现在centos上安装face_recognition还是费了点小劲挖了点小坑的,曲曲折折东拼西凑到处查资料终于鼓捣好了,特记录一下;

在centos上安装face_recognition大概分5步吧:

  1. 升级gcc和g++
  2. 升级cmake
  3. 安装python
  4. 安装dlib
  5. 安装face_recognition

1.升级安装gcc和g++

先查看下gcc的版本:

gcc -v

如果没有显示版本则说明centos没安装gccg++,需要安装:

yum install gcc gcc-c++

升级到gcc9版本或者11版本:

yum install centos-release-scl

yum install devtoolset-9-gcc*

(使用yum install devtoolset-11-gcc*可以升级到11)

找到gcc的安装位置(为了创建软连接,可能需要访问权限):

find /usr -name g++

find /opt -name g++

通常安装目录在/usr/bin/g++和/opt/rh/devtoolset-9/root/usr/bin/g++,如果没搜到就find / -name g++全部搜索,会比较慢;

然后备份旧的gcc并创建新的链接(我的centos上面旧的gcc版本是4.8.5):

mv /usr/bin/gcc /usr/bin/gcc-4.8.5

mv /usr/bin/g++ /usr/bin/g++-4.8.5

ln -s /opt/rh/devtoolset-9/root/usr/bin/gcc /usr/bin/gcc

ln -s /opt/rh/devtoolset-9/root/usr/bin/g++ /usr/bin/g++

备份旧的cc和c++并创建新的链接:

mv /usr/bin/cc /usr/bin/cc-4.8.5

mv /usr/bin/c++ /usr/bin/c++-4.8.5

ln -s /usr/bin/gcc /usr/bin/cc

ln -s /usr/bin/g++ /usr/bin/c++

最后可以再用 gcc -v 验证下版本,一般会显示类似 gcc version 9.3.1 20200408 (Red Hat 9.3.1-2) (GCC);

2.安装或者升级cmake(root权限)

卸载旧版本的cmake:(可以先用cmake --version查看下旧版本)

yum remove cmake

安装EPEL软件源:

yum install epel-release

安装cmake 3.x版本:

yum install cmake3

创建链接:

ln -s /usr/bin/cmake3 /usr/bin/cmake

查看cmake版本:

cmake --version

通常会显示版本:

cmake3 version 3.17.5

CMake suite maintained and supported by Kitware (kitware.com/cmake).

(如果安装了多个版本的cmake,依旧显示其他版本的cmake,有可能是环境变量先读取了其他版本的cmake,可以修改~/.bashrc配置文件,添加export PATH=/usr/bin:$PATH,调整环境变量的读取顺序,然后执行 source ~/.bashrc 使配置生效)

也可以手动下载编译安装cmake:

yum install wget

yum install openssl-devel

使用wget下载cmake源码:

wget https://cmake.org/files/v3.23/cmake-3.23.2.tar.gz

解压源码:

tar -zxf cmake-3.23.2.tar.gz

(可能需要赋予权限chmod 755 cmake-3.23.2.tar.gz)

编译安装cmake:

cd cmake-3.23.2

./bootstrap

make && make install

3.安装python

先安装“_ctypes”模块:(重要,一定要在安装python前安装,否则需要安装完_ctypes模块重新安装python)

yum install libffi-devel -y

可能还要安装:

yum install python3-devel

使用官网下载的python源码包解压安装:

tar -zxvf Python-3.10.13.tgz

cd Python-3.10.13

./configure --prefix=/usr/local/python3

make && make install

(--prefix指定安装目录)

处理pip和python链接:(如果已经存在就先删除链接或者备份重命名)

ln -s /usr/local/python3/bin/python3 /usr/bin/python

ln -s /usr/local/python3/bin/pip3 /usr/bin/pip

处理centos中依赖python2.7的文件:

vi /usr/bin/yum

vi /usr/libexec/urlgrabber-ext-down

将这两个文件中第一行的 #!/usr/bin/python 修改为 #!/usr/bin/python2 ,然后保存退出;

配置阿里云的pip源,在用户根目录下创建.pip/pip.conf文件夹的配置文件,并填入:

[global]
index-url = http://mirrors.aliyun.com/pypi/simple/

[install]
trusted-host = mirrors.aliyun.com

4.安装dlib

可以直接用pip安装:(使用pip直接安装face_recognition的时候应该会自动安装依赖的dlib模块)

pip install dlib

也可以手动下载源码安装,先去官网下载dlib-19.24.2.tar.gz,然后解压安装:dlib C++ Library

tar -zxvf dlib-19.24.2.tar.gz

cd dlib-19.24.2

python setup.py install

5.安装face_recognition

直接用pip安装:

pip install face_recognition

或者去手动下载安装:ageitgey/face_recognition: The world's simplest facial recognition api for Python and the command line (github.com)

可能需要安装的库:

yum install libjpeg* zlib libtiff

你可能感兴趣的:(python,安装人脸库)