在centos上安装python人脸库face_recognition

news/2024/11/8 3:28:26/

前段时间看了看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


http://www.ppmy.cn/news/1278548.html

相关文章

ubuntu20.04.3

1.方法1 创建账号 使用adduser创建账号,命令如下: adduser username username为要创建的账号名 置密码后,需要设置账户信息,这里可以采用默认,全部回车,最后输入Y确认即可: 2.方法2 创建新…

docker运行java程序的Dockerfile

1&#xff0c;docker运行java程序的Dockerfile # 使用基础镜像 FROM alpine:latest # 暴露容器的端口 不会自动将容器的端口映射到宿主机上 docker run -d -p <宿主机端口>:7080 <镜像名称> EXPOSE 9202 EXPOSE 19202 #下载jdk8 RUN apk update && apk a…

教你在Linux上安装Node并用Electron打包deb和rpm包

Windows下无法打linux版本的包&#xff0c;如果你要打linux系统的amd64架构需要找一台linux amd64的系统打包&#xff0c;也可以在amd64下打arm架构的包&#xff0c;但是不能运行&#xff0c;需要放到arm架构的系统里才能运行。 下载linux的node环境 Index of /nodejs-releas…

Python实现AR协方差结构线性回归模型(GLSAR算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 GLSAR是具有AR协方差结构的广义最小二乘法线性回归模型。 本项目通过GLSAR回归算法来构建AR协方差结构…

深度剖析Ajax实现方式(原生框架、JQuery、Axios,Fetch)

Ajax学习 简介&#xff1a; ​ Ajax 代表异步 JavaScript 和 XML&#xff08;Asynchronous JavaScript and XML&#xff09;的缩写。它指的是一种在网页开发中使用的技术&#xff0c;通过在后台与服务器进行数据交换&#xff0c;实现页面内容的更新&#xff0c;而无需刷新整个…

实施硬件基础网线的制作路由器的配置

目录 一.网线的制作 1.1 材料准备 1.2 网线的标准 1.3 水晶头的做法 二. 集线器、交换机、路由器 2.1 OSI七层模型 三 路由器的设置 3.1 网络状态 3.2 设备管理 3.3 应用管理 3.4 路由设置 四.附图-思维导图 一.网线的制作 1.1 材料准备 …

磁盘类型选择对阿里云RDS MySQL的性能影响

测试说明 这是一个云数据库性能测试系列&#xff0c;旨在通过简单标准的性能测试&#xff0c;帮助开发者、企业了解云数据库的性能&#xff0c;以选择适合的规格与类型。这个系列还包括&#xff1a; * 云数据库(RDS MySQL)性能深度测评与对比 * 阿里云RDS标准版(x86) vs 经济…

使用通道和模式

通过通道、选择语句和最佳实践掌握 Go 中的并发编程 并发编程是构建高效和响应迅速的软件的强大范例。Go&#xff0c;也被称为 Golang&#xff0c;通过通道提供了一种健壮且优雅的解决方案来进行并发通信。在这篇文章中&#xff0c;我们将探讨通道的概念、它们在并发编程中的作…