记录安装dlib库失败解决过程,认识conda-forge

项目场景:

近期在研究人脸算法,需要用到dlib库,已经在window环境中正常跑通代码,准备把程序部署到服务器上,却卡在了安装dlib库上,耗费了大半天时间,特地记录一下纪念耗费掉的时间。


问题描述:

anaconda已经正常安装,按照常规操作进行pip安装:

pip install dlib

报错信息如下:


– Using CMake version: 3.20.5
– Compiling dlib version: 19.22.1
CMake Error at /tmp/pip-install-8tjh5qqt/dlib_cf7ea9b2b83d46bd801da216dd286c36/dlib/cmake_utils/set_compiler_specific_options.cmake:50 (message):
C++11 is required to use dlib, but the version of GCC you are using is too
old and doesn’t support C++11. You need GCC 4.9 or newer.
Call Stack (most recent call first):
/tmp/pip-install-8tjh5qqt/dlib_cf7ea9b2b83d46bd801da216dd286c36/dlib/cmake_utils/test_for_sse4/CMakeLists.txt:8 (include)

subprocess.CalledProcessError: Command ‘[‘cmake’, ‘/tmp/pip-install-8tjh5qqt/dlib_cf7ea9b2b83d46bd801da216dd286c36/tools/python’, ‘-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/tmp/pip-install-8tjh5qqt/dlib_cf7ea9b2b83d46bd801da216dd286c36/build/lib.linux-x86_64-3.7’, ‘-DPYTHON_EXECUTABLE=/home/anaconda/envs/paddle_gpu2.2/bin/python’, ‘-DCMAKE_BUILD_TYPE=Release’]’ returned non-zero exit status 1.


尝试解决过程:

1.按照提示可能是gcc版本太低,要求 4.9以上,但是查看安装的gcc版本

 gcc --version

gcc (GCC) 8.3.1 20190311 (Red Hat 8.3.1-3) Copyright © 2018 Free
Software Foundation, Inc. This is free software; see the source for
copying conditions. There is NO warranty; not even for
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

版本号是8.3.1,不是这个原因。

2.怀疑是cmake 、boost 安装有问题,进行了重新安装,也为解决。

pip instal cmake boost

安装后,未解决。

3.有人说dlib不支持python3.7,但是之前windows已经安装成功了,抱着试试心态换成python3.6。
未解决。

4.尝试conda 常规方式安装。

conda install dlib

未解决。


解决方法:

最终解决,却是通过一条简单的命令成功安装。

conda install -c conda-forge dlib

成功。

记录分析conda-forge:

经查阅通过conda-forge安装成功,应该是因为使用 conda-forge 通道而不是 Anaconda 维护的 defaults 通道 ,conda-forge 可能比defaults频道更新;conda-forge 就是通过feedstock和smithy,最后生成包的机构。

有时候版本不匹配兼容问题,就是没找到合适的包。

你可能感兴趣的:(深度学习,图像识别,python,开发语言,opencv,人工智能,人脸识别)