【避坑】Centos7 安装python3.6 dlib库

【避坑】Centos7 安装python3.6 dlib库

一、前情提要

本次安装过程是准备在docker中使用人脸检测等能力,需要使用到python的dlib包,一开始直接使用pip安装报错,在网上按照源码编译方法安装也报错,后面发现是centos的源库包(gcc、gcc-c++、cmake)版本太低了,手动升级gcc、g++版本后软连接没有全部处理好,也出现编译错误的情况。鉴于网络上基于centos7的解决方法比较分散,大部分都是基于ubuntu的 我找不到对应的包啊泪目 写下此文予以记录。

使用的环境:docker 镜像 nvidia/cuda:10.2-cudnn7-devel-centos7

二、升级gcc、g++并建立完整软连接

$ gcc -v
# 回显有gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) 说明系统已带有默认gcc
# 如果显示没有gcc,运行 yum install gcc gcc-c++ 安装gcc、g++

# 升级gcc版本,安装gcc-9,
# 也可以换成c++11等其他版本,把devtoolset-9-gcc* 换成devtoolset-11-gcc*以此类推
$ yum install centos-release-scl
$ yum install devtoolset-9-gcc*

# 找到gcc的安装位置(用g++找比较清晰)
$ find / -name g++
# 回显
/usr/bin/g++
/opt/rh/devtoolset-9/root/usr/bin/g++

# 备份旧的gcc版本,以及构建软链接
$ mv /usr/bin/gcc /usr/bin/gcc-4.8.5
$ mv /usr/bin/g++ /usr/bin/g++-4.8.5
# /opt...路径换成你回显的路径
$ 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,即使升级了gcc还是编译出错
# 先备份旧的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) 

三、安装一些要用到的软件包

1.安装wget 用于下载cmake等源码包
$ yum install wget

2.安装openssl,编译cmake源码要用到
$ yum install openssl-devel

3.安装python3.6.8,centos7好像就只有这个
$ yum install python3-devel 

三、下载、编译cmake

cmake版本要求要3.8以上才可以顺利编译
cmake官网下载链接

# 因为用的docker,直接在容器内用wget下载一个
$ wget https://cmake.org/files/v3.23/cmake-3.23.2.tar.gz
# 赋权、解压
$ chmod 755 cmake-3.23.2.tar.gz
$ tar -zxf cmake-3.23.2.tar.gz
# 编译源码
$ cd cmake-3.23.2
$ ./bootstrap
$ make && make install

# 检查是否安装成功
$ cmake --version
# 回显
cmake version 3.23.2
# 如果显示在/usr/bin没有该文件,手动添加
$ cp ./cmake-3.23.2/bin/cmake /usr/bin/

四、pip3 安装boost、dlib

现在就能愉快地用pip安装python3.6的包了

1.先安装boost
$ pip3 install boost

2.安装dlib,这个过程略久
$ pip3 install dlib

成功安装
在这里插入图片描述

五、参考资料

1.gcc 版本升级升级后默认-std=c++11
2.centos dlib库安装
3./usr/bin/cmake: No such file or directory错误

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值