conda环境下 ERROR: CMake must be installed to build dlib问题解决

1 问题描述

pip install -r requirements.txt 

在构建video_retalking项目过程中,使用命令安装依赖包时,出现如下错误:

Building wheels for collected packages: face-alignment, dlib, ffmpy, futureBuilding wheel for face-alignment (setup.py) ... doneCreated wheel for face-alignment: filename=face_alignment-1.3.4-py2.py3-none-any.whl size=27844 sha256=1099ac2f57890d2e4d94b972703f5a6ccf487376bad7cd60ee7a00c6f84736e9Stored in directory: /root/.cache/pip/wheels/da/f8/cf/6ba533b36b381bf8f2ed87d82b95e5097c4f2ca9aab1acb8cfBuilding wheel for dlib (setup.py) ... errorerror: subprocess-exited-with-error× python setup.py bdist_wheel did not run successfully.│ exit code: 1╰─> [7 lines of output]running bdist_wheelrunning buildrunning build_pyrunning build_extERROR: CMake must be installed to build dlib[end of output]note: This error originates from a subprocess, and is likely not a problem with pip.ERROR: Failed building wheel for dlibRunning setup.py clean for dlibBuilding wheel for ffmpy (setup.py) ... doneCreated wheel for ffmpy: filename=ffmpy-0.3.1-py3-none-any.whl size=5579 sha256=61354e3c970907807c38694ea3da2a6183ac05bf4497ed85eac27222e15cf2a9Stored in directory: /root/.cache/pip/wheels/0f/7f/ad/15fba8ee0656ffade5c40beace0c545743e91060c8af30efc9Building wheel for future (setup.py) ... doneCreated wheel for future: filename=future-0.18.3-py3-none-any.whl size=492024 sha256=f2792f6ac146614217f9fd5808a2025c68f1fc8c4785c5486eec94e4404ba96eStored in directory: /root/.cache/pip/wheels/07/14/8c/1cb73be9422f7e071f24ed77cb8e51eb87ac17e6fc06640715
Successfully built face-alignment ffmpy future
Failed to build dlib
ERROR: Could not build wheels for dlib, which is required to install pyproject.toml-based projects

2 问题分析

从异常信息可以看出,安装dlib是需要cmake,使用命令安装cmake

yum install cmake

安装完成后,再次运行出现如下错误:

Building wheels for collected packages: dlibBuilding wheel for dlib (setup.py) ... errorerror: subprocess-exited-with-error× python setup.py bdist_wheel did not run successfully.│ exit code: 1╰─> [68 lines of output]running bdist_wheelrunning buildrunning build_pyrunning build_extBuilding extension for Python 3.8.18 | packaged by conda-forge | (default, Oct 10 2023, 15:44:36)Invoking CMake setup: 'cmake /tmp/pip-install-92e1e42i/dlib_b04bbb8202ab4a81b4fd32bf1517ed88/tools/python -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/tmp/pip-install-92e1e42i/dlib_b04bbb8202ab4a81b4fd32bf1517ed88/build/lib.linux-x86_64-cpython-38 -DPYTHON_EXECUTABLE=/root/anaconda3/envs/retalking/bin/python3.8 -DCMAKE_BUILD_TYPE=Release'-- The C compiler identification is unknownCMake Error at /usr/share/cmake/Modules/CMakeDetermineCXXCompiler.cmake:55 (message):Could not find compiler set in environment variable CXX:g++.Call Stack (most recent call first):CMakeLists.txt:14 (project)CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.Missing variable is:CMAKE_CXX_COMPILER_ENV_VARCMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.Missing variable is:CMAKE_CXX_COMPILERCMake Error: Could not find cmake module file: /tmp/pip-install-92e1e42i/dlib_b04bbb8202ab4a81b4fd32bf1517ed88/build/temp.linux-x86_64-cpython-38/CMakeFiles/2.8.12.2/CMakeCXXCompiler.cmakeCMake Error: your C compiler: "CMAKE_C_COMPILER-NOTFOUND" was not found.   Please set CMAKE_C_COMPILER to a valid compiler path or name.CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage-- Configuring incomplete, errors occurred!See also "/tmp/pip-install-92e1e42i/dlib_b04bbb8202ab4a81b4fd32bf1517ed88/build/temp.linux-x86_64-cpython-38/CMakeFiles/CMakeOutput.log".See also "/tmp/pip-install-92e1e42i/dlib_b04bbb8202ab4a81b4fd32bf1517ed88/build/temp.linux-x86_64-cpython-38/CMakeFiles/CMakeError.log".Traceback (most recent call last):File "<string>", line 2, in <module>File "<pip-setuptools-caller>", line 34, in <module>File "/tmp/pip-install-92e1e42i/dlib_b04bbb8202ab4a81b4fd32bf1517ed88/setup.py", line 222, in <module>setup(File "/root/anaconda3/envs/retalking/lib/python3.8/site-packages/setuptools/__init__.py", line 103, in setupreturn distutils.core.setup(**attrs)File "/root/anaconda3/envs/retalking/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 185, in setupreturn run_commands(dist)File "/root/anaconda3/envs/retalking/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 201, in run_commandsdist.run_commands()File "/root/anaconda3/envs/retalking/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 969, in run_commandsself.run_command(cmd)File "/root/anaconda3/envs/retalking/lib/python3.8/site-packages/setuptools/dist.py", line 989, in run_commandsuper().run_command(command)File "/root/anaconda3/envs/retalking/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_commandcmd_obj.run()File "/root/anaconda3/envs/retalking/lib/python3.8/site-packages/wheel/bdist_wheel.py", line 368, in runself.run_command("build")File "/root/anaconda3/envs/retalking/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 318, in run_commandself.distribution.run_command(command)File "/root/anaconda3/envs/retalking/lib/python3.8/site-packages/setuptools/dist.py", line 989, in run_commandsuper().run_command(command)File "/root/anaconda3/envs/retalking/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_commandcmd_obj.run()File "/root/anaconda3/envs/retalking/lib/python3.8/site-packages/setuptools/_distutils/command/build.py", line 131, in runself.run_command(cmd_name)File "/root/anaconda3/envs/retalking/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 318, in run_commandself.distribution.run_command(command)File "/root/anaconda3/envs/retalking/lib/python3.8/site-packages/setuptools/dist.py", line 989, in run_commandsuper().run_command(command)File "/root/anaconda3/envs/retalking/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_commandcmd_obj.run()File "/tmp/pip-install-92e1e42i/dlib_b04bbb8202ab4a81b4fd32bf1517ed88/setup.py", line 134, in runself.build_extension(ext)File "/tmp/pip-install-92e1e42i/dlib_b04bbb8202ab4a81b4fd32bf1517ed88/setup.py", line 171, in build_extensionsubprocess.check_call(cmake_setup, cwd=build_folder)File "/root/anaconda3/envs/retalking/lib/python3.8/subprocess.py", line 364, in check_callraise CalledProcessError(retcode, cmd)subprocess.CalledProcessError: Command '['cmake', '/tmp/pip-install-92e1e42i/dlib_b04bbb8202ab4a81b4fd32bf1517ed88/tools/python', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/tmp/pip-install-92e1e42i/dlib_b04bbb8202ab4a81b4fd32bf1517ed88/build/lib.linux-x86_64-cpython-38', '-DPYTHON_EXECUTABLE=/root/anaconda3/envs/retalking/bin/python3.8', '-DCMAKE_BUILD_TYPE=Release']' returned non-zero exit status 1.[end of output]note: This error originates from a subprocess, and is likely not a problem with pip.ERROR: Failed building wheel for dlibRunning setup.py clean for dlib
Failed to build dlib
ERROR: Could not build wheels for dlib, which is required to install pyproject.toml-based projects

3 问题解决

yum install -y cmake
yum install -y make
yum install -y gcc
yum install -y gcc-c++

 注意:安装完成后,要重新连接shell,再次运行依赖安装命令

pip install -r requirements.txt 

不再报错,问题解决。

 4 conda环境介绍

Conda是一个开源的包管理器和环境管理系统,用于安装、运行和更新包和其依赖项。它是由Anaconda, Inc.(以前称为Continuum Analytics)创建,用于支持Python程序开发,但它也可以用来管理来自其他语言的包。Conda使得包管理和环境隔离变得简单,对于处理多个项目中的依赖关系和版本控制尤其有用。

Conda是一个强大的工具,对于管理复杂的Python项目和环境至关重要。它简化了包管理和环境设置,使得Python开发更加容易和高效。通过使用Conda,开发者可以确保他们的项目在不同机器和操作系统上都能以相同的方式运行,大大提高了项目的可移植性和可复现性。

4.1 Conda的核心功能

  • 包管理:Conda作为包管理器,可以安装、更新和移除Python包。它通过Conda仓库,如Anaconda Cloud或Conda Forge,来获取包。

  • 环境管理:Conda允许用户创建隔离的环境,以便于不同项目可以拥有不同的库和/或Python版本。这在处理不兼容的依赖项或不同项目的需求时非常有用。

  • 跨平台:Conda支持Linux、OS X和Windows,并允许创建跨平台的Python环境。

  • 开源:Conda是开源的,允许用户查看源代码并对其进行改进。

4.2 使用Conda的优势

  • 解决依赖性问题:Conda可以自动解决包之间的依赖关系,简化了安装过程。

  • 环境隔离:创建独立的环境可以避免包之间的版本冲突,使得项目更稳定。

  • 易于使用:Conda的命令行界面简单直观,易于学习和使用。

  • 广泛的包支持:Conda支持Python的许多流行库和应用程序。

  • 社区支持:作为一个流行的工具,Conda拥有一个活跃的社区,用户可以从中找到支持和资源。

4.3 Conda环境的创建和管理

  • 创建新环境:使用conda create命令创建一个新环境,可以指定Python版本和所需的包。

  • 激活环境:使用conda activate命令来激活环境。

  • 安装包:在激活的环境中使用conda install命令来安装新的包。

  • 环境列表:使用conda env list来查看所有可用的Conda环境。

  • 移除环境:使用conda env remove命令来移除不再需要的环境。

4.4 应用场景

  • 数据科学和机器学习:Conda非常适合于数据科学和机器学习项目,这些项目通常需要多个库和框架。

  • 软件开发:软件开发者使用Conda来管理项目依赖,确保一致的开发环境。

  • 教学和学术研究:教师和研究人员使用Conda来创建具有特定库和工具的环境,用于教学和研究。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/179461.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

与中通支付对接

最近项目接入商户&#xff0c;商户需要同步给中通支付&#xff0c;报错两个异常已解决。 一、json报错 未接入中通SKD之前&#xff0c;不会报错&#xff0c;接入后&#xff0c;json转换异常。 排查后发现&#xff0c;中通的jar包里JSON版本太低&#xff0c;与自身项目的版本冲…

不会写代码也能做自动化?推荐一款自动化测试神器

在软件测试这条道路上&#xff0c;大部分的职业技能发展道路都会是纯业务手工测试→自动化测试→性能测试→安全测试/测试开发。 但是却有着一部分人起初进入软件测试这一行看重的就是软件测试属于IT行业&#xff0c;门槛比较低&#xff0c;不需要代码基础。 这就导致了这一部…

0基础学java-day9

一、房屋出租系统-需求&&界面 1项目需求说明 实现基于文本界面的《房屋出租软件》。 能够实现对房屋信息的添加、修改和删除&#xff08;用数组实现&#xff09;&#xff0c;并能够打印房屋明细表 2 房屋出租系统-界面 2.1 项目界面 - 主菜单 2.2项目界面- 新增房…

Linux编写Shell命令脚本

1.编写Shell脚本 可以将Shell终端解释器当作人与计算机硬件之间的“翻译官”&#xff0c;它作为用户与Linux系统内部的通信媒介&#xff0c;除了能够支持各种变量与参数外&#xff0c;还提供了诸如循环、分支等高级编程语言才有的控制结构特性。要想正确使用Shell中的这些功能…

git的创建以及使用

1、上传本地仓库 首先确定项目根目录中没有.git文件&#xff0c;有的话就删了&#xff0c;没有就下一步。在终端中输入git init命令。注意必须是根目录&#xff01; 将代码存到暂存区 将代码保存到本地仓库 2、创建git仓库 仓库名称和路径&#xff08;name&#xff09;随便写…

vscode 里怎么自动提示 webpack 配置项?

webpack 的配置项非常多&#xff0c;容易忘记&#xff0c;能自动提示很有用&#xff0c;就是在配置文件里面添加下面代码 // 下面这行用于 vscode 中智能化自动提示 webpack 配置项 /** type {import(webpack).Configuration} */

文本三剑客之sed

一、sed编辑器 ■ sed是一种流编辑器&#xff0c;流编辑器会在编辑器处理数据之前基于预先提供的—组规则来编辑数据流 ■ sed编辑器可以根据命令来处理数据流中的数据&#xff0c;这些命令要么从命令行中输入&#xff0c;要么存储在一个命令文本文件中 1、sed的工作流程主要…

分享一个适用于 Vue3 的好的组件库,PrimeVue组件。

一、PrimeVue介绍 PrimeVue 是一个基于 Vue.js 的 UI 组件库&#xff0c;专注于提供丰富、灵活、现代的 UI 组件&#xff0c;以帮助开发者构建功能强大的 Web 应用程序。PrimeVue 提供了一系列的组件&#xff0c;涵盖了从基本的表单元素到高级的数据表格和图表等各种组件。 二、…

大模型fine-tune 微调

大模型的 Fine-tune 我们对技术的理解&#xff0c;要比技术本身更加重要。 正如我在《大模型时代的应用创新范式》一文中所说&#xff0c;大模型会成为AI时代的一项基础设施。 作为像水、电一样的基础设施&#xff0c;预训练大模型这样的艰巨任务&#xff0c;只会有少数技术…

测试用例设计全网最强篇(建议收藏)

本篇从多角度带大家从0开始学习怎么写测试用例&#xff0c;七种方法8个案例&#xff08;含用例模板&#xff09;&#xff1b;学习目标&#xff1a;测试用例的基本知识以及黑盒测试用例的设计方法。 前言&#xff1a;总体编写策略&#xff1a; 对于测试用例编写来说&#xff0…

只会在终端使用Python运行代码?这些高级用法了解了解

大部分同学在终端使用Python可能只是简单的执行代码&#xff0c;但其实结合一些Python内置模块或第三方库可以实现更高级且便捷的用法&#xff0c;一起看看吧 插播&#xff0c;更多文字总结指南实用工具科技前沿动态第一时间更新在公粽号【啥都会一点的研究生】 代码Benchmar…

香港科技大学数据建模(MSc DDM)硕士学位项目(2024年秋季入学)招生宣讲会-武汉专场

时间&#xff1a;2023 年12 月 8 日&#xff08;周五&#xff09; 15:00 地点&#xff1a;华中科技大学大学生活动中心B座303 嘉宾教授&#xff1a;张锐 教授 项目旨在培养科学或工程背景的学员从数据中提取信息的数据建模能力&#xff0c;训练其拥有优秀的解难和逻辑思考与分…

第一百八十三回 如何给图片添加阴影

文章目录 1. 概念介绍2. 思路与方法2.1 实现思路2.2 实现方法 3. 代码与效果3.1 示例代码3.2 运行效果 4. 内容总结 我们在上一章回中介绍了"自定义可以滑动的刻度尺"样相关的内容&#xff0c;本章回中将介绍" 如何给图片添加阴影".闲话休提&#xff0c;让…

Windows环境下的JDK安装与环境配置

一、JDK下载 1、打开Oracle官方网站下载页 Java Downloads | Oracle 中国 2、选择Java archive页&#xff0c;在版本列表中选择需要下载的版本 3、选择系统环境对应的版本&#xff0c;点击对应的下载按钮&#xff0c;弹出技术许可勾选框 4、勾选Oracle技术许可协议 5、输入Or…

人工智能即将彻底改变你使用计算机的方式

文章目录 每个人的私人助理“Clippy 是一个机器人&#xff0c;而不是特工。”卫生保健“一半需要心理健康护理的美国退伍军人没有得到治疗。”教育生产率娱乐和购物科技行业的冲击波技术挑战隐私和其他重大问题 今天我仍然像保罗艾伦和我创办微软时一样热爱软件。但是&#xff…

项目监控:项目跟踪和控制的工具和步骤

项目管理不仅仅是分配和审查任务&#xff0c;还包括平衡团队成员的工作量、创建预测和避免障碍的工作流程。整个过程涉及许多步骤&#xff0c;因此&#xff0c;项目监控成为了成功业务活动的关键之一&#xff0c;是项目经理确保与团队共同实施的计划顺利进行的方式。 项目监控为…

案例-某乎参数x-zse-96逆向补环境

文章目录 前言一、流程分析二、导出代码三、补环境总结 前言 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;不提供完整代码&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则…

springboot实现验证码功能

转载自 : www.javaman.cn 1、编写工具类生成4位随机数 该工具类主要生成从0-9&#xff0c;a-z&#xff0c;A-Z范围内产生的4位随机数 /*** 产生4位随机字符串*/public static String getCheckCode() {String base "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmn…

异步爬虫提速实践-在Scrapy中使用Aiohttp/Trio

在构建爬虫系统时&#xff0c;提高爬虫速度是一个关键问题。而使用异步爬虫技术可以显著提升爬取效率。在本文中&#xff0c;我将与大家分享如何在Scrapy中利用Aiohttp或Trio库实现异步爬取&#xff0c;以加快爬虫的速度。让我们开始吧&#xff01; 1. 安装所需的库 首先&…

C语言——数组转换

将的两行三列数组转换为三行两列的数组 #define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> int main() {int a[2][3]{{1,2,3},{4,5,6}};int b[3][2],i,j;for ( i 0; i <1; i){for ( j 0; j <2; j){printf("%5d",a[i][j]);b[j][i]a[i][j];}printf(&…