在Ubuntu 24.04的Python 2.7.18环境中安装dlib==19.16.0失败求助
在Ubuntu 24.04的Python 2.7.18环境中安装dlib==19.16.0失败求助
我太懂你这种卡壳的烦躁感了!从你贴的错误信息来看,核心问题有俩:一是默认pip install dlib会自动拉取不支持Python 2.7的新版dlib(比如你遇到的19.24.4),二是Ubuntu 24.04的系统环境和新的构建标准(PEP517)跟Python 2.7完全不兼容。下面给你一步步走的解决办法:
- 第一步:先装全编译dlib必须的系统依赖
dlib是C++编写的库,安装时需要本地编译,得先把Ubuntu上的编译工具和依赖库补全:
sudo apt update && sudo apt install build-essential cmake libboost-all-dev libopenblas-dev liblapack-dev
- 第二步:把pip降级到支持Python 2.7的最后版本
你当前用的pip版本太高了(21.0及以后的版本已经彻底放弃Python 2.7支持),先把pip2.7降到最后兼容的20.3.4版本:
pip2.7 install pip==20.3.4
- 第三步:指定版本安装dlib,同时禁用PEP517构建
PEP517是新的包构建标准,Python2.7完全吃不住它,加上--no-use-pep517参数会切换回旧的兼容构建方式,同时明确指定19.16.0这个确认支持Python2.7的版本:
pip2.7 install dlib==19.16.0 --no-use-pep517
- 如果还是编译失败?试试指定旧版本的gcc
Ubuntu 24.04默认的gcc是13版本,对Python2.7的老代码编译可能存在兼容性bug,咱们可以装个更温和的gcc-9来适配:
先安装gcc-9和g++-9:
sudo apt install gcc-9 g++-9
然后临时指定用gcc-9来编译安装:
CC=gcc-9 CXX=g++-9 pip2.7 install dlib==19.16.0 --no-use-pep517
另外多嘴提一句:Python2.7已经停止维护好几年了,如果项目允许的话,尽量转到Python3环境会省心太多,但如果是老项目必须死磕Python2.7,上面的步骤应该能帮你搞定问题。
备注:内容来源于stack exchange,提问作者Chithra Masilamani
相关产品推荐
相关产品推荐

