face_recognition和dlib的安装(ubuntu16.04+python3.6)

在虚拟环境中安装dlib、face_recognition(ubuntu)
(参考https://blog.csdn.net/gf_lvah/article/details/79482585
      http://www.cnblogs.com/whenyd/p/7721989.html)


不同的环境安装的细节可能会不同,这里只针对如下环境:
操作系统:ubuntu16.04
python版本:python3.6
dlib版本:19.17
face_recogition版本:1.2.3

ps:因为接触ubuntu系统时间不久,刚开始安装各种软件有点乱,导致我的虚拟环境py36中既有python2.7,又有python3.6,但版本3.6是默认的使用版本。所以这次我在我的虚拟环境py36中安装face_recognition是一波三折,而且根据网上有人说python3.6与dlib19.7相对应,后在dlib的官方网站中得知最新版本19.17同样适用于python3.6,所以如果你的python版本有所不同,最好先查一下dlib的对应版本。


(1)源码安装dlib:
①源码下载,dlib包可以直接在pypi上下载(https://pypi.org/project/dlib/19.7.0/#files),选择dlib-19.7.0.tar.gz下载,并解压
 ps:下载时我试过从github库clone(git clone https://github.com/davisking/dlib.git),但是最后发现dlib安装到了python2中,但实际上我在执行第③步时,使用的是python,而不是python2,这个原因我目前还不知道是什么造成的(欢迎网友大神们可以留言指导),换成pypi上下载后后续就没有问题。
②激活虚拟环境py36(source activate py36)
③cd到dlib解压后的文件夹后,可以看到setup.py,执行
    python setup.py install --no DLIB_USE_CUDA
 ps:很多人在执行这一步时直接是python setup.py install,但是我在执行时总是出错,而且根据出错内容分析跟CUDA有关,所以这里可以指定不使用CUDA,这可能跟我的环境有关.
④验证是否安装上
 在虚拟环境py36中:
  python(显示python版本等信息)
  import dlib(无任何提示说明安装成功)
  dlib.__version__(显示dlib版本)

(2)安装face_recognition
    pip install face_recognition

  ps:在pycharm中的settings-->Project Interpreter中,选择好环境为py36,点击右边的“+”,可以搜索你想安装的包dlib,同时在右下角勾选Specity version,并选择19.17版本后,点击左下角的“Install Package”可以成功安装dlib。但是可能因为没有去设置相关选项,比如DLIB_USE_CUDA,导致后面在安装face_recogniton时总是出错,并且是跟dlib有关。
  另外,face_recognition与dlib版本也要注意对应,我之前因为有网友说python3.6只与dlib的19.7对应,于是安装了dlib的19.7,但是我不知道face_recognition对应的具体版本,所以默认安装了最新版本1.2.3,虽然看似安装成功了,但在import face_recogniton时,回报出“did not match C++ signature:__init__"的错误。思来想去,觉得应该是版本对应的关系,卸载了dlib的19.7,去dlib官网查看了最新的19.17是否适合我的python3.6,答案是适合的。于是安装了dlib的19.17,和最新的face_recogniton(1.2.3)版本,然后就真正的大功告成了!

猜你喜欢

转载自blog.csdn.net/ali1174/article/details/89081367