安装与编译Dlib(以Ubuntu16.04+Python3.6+pip为例)

Step1:下载Ubuntu (or Linux)系统支持库=>Install OS libraries

sudo apt-get install build-essential cmake pkg-config libx11-dev libatlas-base-dev libgtk--dev libboost-python-dev

Step 2:安装与Python版本一致的相关库=>Install Python libraries

sudo apt-get install python3.-dev python3-pip 

(注意:这里的python3.6-dev对应的是Python3.6这个版本)

Step3:编译并安装Dlib=>Compile Dlib

0)准备工作,去官网下载源码:http://dlib.net/files/

1) C++编译(Compile C++ binary)

wget http://dlib.net/files/dlib-19.16.tar.bz2
(如果已经下载源码,这一步不需要。)
tarxvf dlib-19.16.tar.bz2
cd dlib-19.16/
mkdir build
cd build
cmake ..
cmake --build . --config Release
sudo make install
sudo ldconfig
cd..

2) Python编译(Compile Python module)

本质来说,就是C++编译基础上添加Python调用模块。
这种方法较多,常见以下几种:

a.直接pip编译安装:

sudo pip install dlib==19.16
或者
sudo pip3 install dlib==19.16

b.进入dlib的目录用setup.py文件方式编译安装:

# move to dlib's root directory
cd dlib-19.16
sudo python setup.py install # clean up(this step is required if you want to build dlib for both Python2 and Python3)
rm -rf dist
rm -rf tool/python/build
rm python_examples/dlib.so

题外知识:apt-get的使用

1、更新软件数据库:sudo apt-get update
2、查找你想要的软件:sudo apt-cache search softwareName
3、从查找的结果中找到你想安装的软件,然后:sudo apt-get install softwareNameYouFound
备注:斜体字为命令的参数,需要根据用户需要安装的软件名称而改变。
---------------------------------------------------------
可以用命令:sudo apt-cache -h来得到更多信息。
---------------------------------------------------------
例如:我想安装eclipse,但我不知道是否能通过apt-get命令来安装,如下操作:
1、sudo apt-get update.
2、sudo apt-cache search eclipse这时,可以看到有
3、这时可以用以下命令安装eclipse:sudo apt-get install eclipse

安装与编译Dlib(以Ubuntu16.04+Python3.6+pip为例)的更多相关文章

  1. ubuntu16.04 python3 安装selenium及环境配置

    环境 ubuntu16.04 python3 安装selenium sudo pip3 install seleium 默认安装完是支持firefox,但是更新得太慢对于较新的firefox已经不支持 ...

  2. 在ubuntu16.04+python3.5情况下安装nltk,以及gensim时pip3安装不成功的解决办法

    在ubuntu16.04+python3.5情况下安装nltk,以及gensim时pip3安装不成功的解决办法,我刚开始因为不太会用linux命令,所以一直依赖于python 的pip命令,可是怎么都 ...

  3. 深度学习环境搭建:Tensorflow1.4.0+Ubuntu16.04+Python3.5+Cuda8.0+Cudnn6.0

    目录 深度学习环境搭建:Tensorflow1.4.0+Ubuntu16.04+Python3.5+Cuda8.0+Cudnn6.0 Reference 硬件说明: 软件准备: 1. 安装Ubuntu ...

  4. MySql5.7免安装版配置过程(ubuntu16.04)

    MySql5.7免安装版配置过程(ubuntu16.04) 原创 2017年02月07日 16:58:24 标签: 1001 编辑 删除 一.安装环境: 操作系统:ubuntu16.04 数据库:my ...

  5. ubuntu16.04 python3.5 opencv的安装与卸载(转载)

    转载https://blog.csdn.net/qq_37541097/article/details/79045595 Ubuntu16.04 自带python2.7和python3.5两个版本,默 ...

  6. 【软件安装与环境配置】ubuntu16.04+caffe+nvidia+CUDA+cuDNN安装配置

    前言 博主想使用caffe框架进行深度学习相关网络的训练和测试,刚开始做,特此记录学习过程. 环境配置方面,博主以为最容易卡壳的是GPU的NVIDIA驱动的安装和CUDA的安装,前者尝试的都要吐了,可 ...

  7. Ubuntu16.04 python3.4.3升级到python3.7.1

    python有两个版本,一个2版本,使用的是python:另一个是3版本,使用的是python3. 简易安装python后得到的3版本的版本号是python3.4.3. 可以使用下面的命令查看py版本 ...

  8. Akka-CQRS(2)- 安装部署cassandra cluster,ubuntu-16.04.1-LTS and MacOS mojave

    对于akka-cluster这样的分布式软件系统来说,选择配套的数据库类型也是比较讲究的,最好也是分布式的,如cassandra,能保证良好的HA特性.前面的例子里示范akka-persistence ...

  9. 在使用ubuntu16.04+python3.5 下使用pip3出现pip3 error - '_NamespacePath' object has no attribute 'sort'

    使用pip3安装tensorflow以及gensim等时,出现如下错误: Traceback (most recent call last): File "/usr/local/bin/pi ...

随机推荐

  1. SparkStreaming使用checkpoint存在的问题及解决方案

    sparkstreaming关于偏移量的管理 在 Direct DStream初始化的时候,需要指定一个包含每个topic的每个分区的offset用于让Direct DStream从指定位置读取数据. ...

  2. BZOJ 1180 [CROATIAN 2009]OTOCI // BZOJ 2843 极地旅行社 // Luogu P4321 [COCI 2009] OTOCI / 极地旅行社 (LCA板题)

    emmm-标题卡着长度上限- LCT板题-(ε=ε=ε=┏(゜ロ゜;)┛) CODE #include <cctype> #include <cmath> #include & ...

  3. 01_初识redis

    1.redis和mysql mysql是一个软件,帮助开发者对一台机器的硬盘进行操作. redis是一个软件,帮助开发者对一台机器的内存进行操作 汽车之家,如果硬盘挂掉了,页面还能访问1个月 关键字: ...

  4. 题解 [CF525D] Arthur and Walls

    题面 解析 首先考虑将一个\('*'\)变成\('.'\)后会形成什么, 显然至少是一个\(2\times 2\)的矩形. 因为\(1\times 1\)和\(1\times 2\)的改了没用啊, 而 ...

  5. IF语句及代码练习

    接着上篇的内容  ㈠ if . . . else . . .语句 ⑴语法 if(条件表达式){              语句. . . } else {             语句. . . } ...

  6. 北京清北 综合强化班 Day5

    T1 思路: 输入数据,sort一下, 如果a[i]>sum+1(前缀和) 那么sum+1就一定不会被拼出来, 然后输出即可. 上代码: #include <iostream> #i ...

  7. Go程序的一生是怎样的?

    Go 程序是怎样跑起来的 原创: 饶全成 码农桃花源  刚开始写这篇文章的时候,目标非常大,想要探索 Go 程序的一生:编码.编译.汇编.链接.运行.退出.它的每一步具体如何进行,力图弄清 Go 程序 ...

  8. 一 、Linux基础命令及使用帮助

    linux的哲学思想: 一切皆文件: 把几乎所有资源,包括硬件设备都组织为文件系统 由众多单一目的小程序组成:一个程序只实现一个功能,而且要做好 组合小程序完成复杂任务 尽量避免跟用户交互 目的:实现 ...

  9. Guava中Lists.partition(List, size) 方法懒划分/懒分区

    目录 Guava中Lists.partition(List, size) 方法懒划分/懒分区 背景 分析 总结 Guava中Lists.partition(List, size) 方法懒划分/懒分区 ...

  10. redis 数据类型详解 以及 redis适用场景场合(滴滴)

    滴滴的面试官问了个问题关于redis的: 我现在想服务器每分钟接收一个用户的请求小于60个,如何处理: 答:使用Redis 缓存服务器,可以设置key=用户ID value不停地加一到了60就停止,然 ...