conda环境下Could not build wheels for dlib解决方法

1 问题描述

在安装模型运行的conda环境时,出现如下问题:

Building wheels for collected packages: basicsr, face-alignment, dlib, ffmpy, filterpy, futureBuilding wheel for basicsr (setup.py) ... doneCreated wheel for basicsr: filename=basicsr-1.4.2-py3-none-any.whl size=214848 sha256=a369da2f20c23d7f389b174f7fd3423377b4020022ff6234a98d21838d109e8eStored in directory: c:\users\admin\appdata\local\pip\cache\wheels\b8\12\22\9e31eeca4e56e9ca769f4d3bf4bf0434dcb6aa3a669a719970Building wheel for face-alignment (setup.py) ... doneCreated wheel for face-alignment: filename=face_alignment-1.3.4-py2.py3-none-any.whl size=27875 sha256=feb3a8fe39f518c67f16510754de6fca2cffb9a98857586485f350f3564e18cbStored in directory: c:\users\admin\appdata\local\pip\cache\wheels\de\68\f5\76db2e5ffbc882386a686244cb7058309a1cee25d6c1c54553Building 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=5601 sha256=3b22c45083478e29b11dd535580a00a99fe3114695efdbda1375df2fc63aa84aStored in directory: c:\users\admin\appdata\local\pip\cache\wheels\72\31\9f\d801db52ffc8fb7c94572f781112c98dad0ce7e4cef176d158Building wheel for filterpy (setup.py) ... doneCreated wheel for filterpy: filename=filterpy-1.4.5-py3-none-any.whl size=110542 sha256=c386ba7c32023a939fd157d57afa55df2050307f02511a6b6c7d1fb9ca4681c1Stored in directory: c:\users\admin\appdata\local\pip\cache\wheels\1f\a0\08\9388a0fe5337fbe2a814a3a8e2c63119ce722a2a42b5828c66Building wheel for future (setup.py) ... doneCreated wheel for future: filename=future-0.18.3-py3-none-any.whl size=492054 sha256=e2d3b5191bb4b8e063d508b0045b21e0057e7fa744127f7c414f65897f3e2577Stored in directory: c:\users\admin\appdata\local\pip\cache\wheels\d6\16\c3\446e86546ea4e6f218702c330e7e320575b71b597f95f78108
Successfully built basicsr face-alignment ffmpy filterpy future
Failed to build dlib
ERROR: Could not build wheels for dlib, which is required to install pyproject.toml-based projects

2 问题分析

从错误日志中分析得出,在使用pip安装依赖包时,构建dlib依赖包报错。

3 问题解决

使用conda命令安装dlib,命令如下:

conda install -c conda-forge dlib

命令执行完成后,查看pip模块:

pip list                         
Package           Version
----------------- ------------
dlib              19.24.2     
numpy             1.24.4      
Pillow            10.1.0      
pip               23.3.1      
setuptools        68.2.2      
torch             1.9.0+cu111 
torchvision       0.10.0+cu111
typing_extensions 4.9.0       
wheel             0.41.2     

 4 conda环境介绍

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

7fe216bee95143b88dd373480ba452ee.webp

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来创建具有特定库和工具的环境,用于教学和研究。

4.5 常用命令

Conda 是一个开源的包管理器和环境管理器,广泛用于管理Python环境和包。以下是一些常用的 Conda 命令:

  • 安装 Conda 包:

    • conda install [package-name]: 安装指定的包。
  • 创建和管理环境:

    • conda create --name [env-name]: 创建一个新的环境。
    • conda activate [env-name]: 激活指定环境。
    • conda deactivate: 退出当前环境。
    • conda env list: 列出所有可用的环境。
  • 管理包:

    • conda list: 在当前环境中列出所有已安装的包。
    • conda update [package-name]: 更新指定的包。
    • conda remove [package-name]: 移除指定的包。
  • 搜索包:

    • conda search [package-name]: 搜索可用的包版本。
  • 环境导出和导入:

    • conda env export > environment.yml: 导出当前环境的配置到一个YAML文件。
    • conda env create -f environment.yml: 使用YAML文件创建一个新环境。
  • 更新 Conda:

    • conda update conda: 更新 Conda 到最新版本。
  • 查看 Conda 信息:

    • conda info: 显示关于 Conda 的信息。

 

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

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

相关文章

快速上手makefile自动化构建工具

makefile自动化构建工具 文章目录 makefile自动化构建工具 makefile背景 简单认识makefile 依赖关系与依赖方法 生成项目 清理项目 ACM时间 语法补充 .PHONY修饰 特殊符号替换 Makefile的推导过程 总结 前言: 在windows下,很多东西都是编译器直接帮你做…

电子握力器改造

toy_hand_game 介绍 消耗体力玩具,使用握力器(Grip Strengthener)控制舵机旋转。 开始设想是控制丝杆电机滑动,两套设备就可以控制两个丝杆电机进行“模拟拔河”,后续发现硬件设计错误,ULN2003不能控制两相四线电机,…

c语言:求最小公倍数|练习题

一、题目 输入两个数,求两数的最小公倍数。 如图: 二、思路分析 1、先知道两个数里的最小值(比如:9和6,取6) 2、用2到6,5个数,同时除以9和6,得最小公约数:3 3、用9除33,6除32。得最小…

Python漂浮爱心完整代码

文章目录 环境需求完整代码详细分析环境需求 python3.11.4PyCharm Community Edition 2023.2.5pyinstaller6.2.0(可选,这个库用于打包,使程序没有python环境也可以运行,如果想发给好朋友的话需要这个库哦~)【注】 python环境搭建请见:https://want595.blog.csdn.net/arti…

k8s-cni网络 10

Flannel vxlan模式跨主机通信原理 在同一个节点上的pod 流量通过cni网桥可以直接进行转发; 在需要跨主机访问时,数据包通过flannel(隧道) 知道另一边的mac地址,就可以拿到另一边的ip地址,然后构建常规的以太网数据包,…

ClickHouse基础知识(二):ClickHouse 安装教程

1. 准备工作 1.1 确定防火墙处于关闭状态 1.2 CentOS 取消打开文件数限制 (1)在 hadoop101 的 /etc/security/limits.conf 文件的末尾加入以下内容 sudo vim /etc/security/limits.conf(2)在 hadoop101 的/etc/security/limits.…

为什么IDEA建议去掉StringBuilder,而要使用“+”拼接字符串

在字符串拼接时应该都见过下面这种提示: 大家普遍认知中,字符串拼接要用StringBuilder,那为什么idea会建议你是用呢,那到底StringBuilder和有什么具体区别呢,我们一起来探究一下。 普通拼接 普通的几个字符串拼接成一…

【头歌实训】kafka-入门篇

文章目录 第1关:kafka - 初体验任务描述相关知识Kafka 简述Kafka 应用场景Kafka 架构组件kafka 常用命令 编程要求测试说明答案代码 第2关:生产者 (Producer ) - 简单模式任务描述相关知识Producer 简单模式Producer 的开发步骤Ka…

主资源公平调度策略

0. 前言 最大最小分配算法:这个比较好理解,就是最大化目前分配到最小资源量的用户或者任务的资源量。举个例子ABC三个任务需要的资源分别为2,5,8个单位,现在有12个单位的资源,一开始时候每个任务平均分配4个单位,这个时候A任务多出2个单位,然后再将这2个单位平均分配为B…

【论文阅读】Realtime multi-person 2d pose estimation using part affinity fields

OpenPose:使用PAF的实时多人2D姿势估计。 code:GitHub - ZheC/Realtime_Multi-Person_Pose_Estimation: Code repo for realtime multi-person pose estimation in CVPR17 (Oral) paper:[1611.08050] Realtime Multi-Person 2D Pose Estima…

前端工程化实战 - 日程管理

我是南城余!阿里云开发者平台专家博士证书获得者! 欢迎关注我的博客!一同成长! 一名从事运维开发的worker,记录分享学习。 专注于AI,运维开发,windows Linux 系统领域的分享! 本…

信息安全概论快速复习(期末急救)

文章目录 1、DES中的S-盒输入输出问题 (不需要记住S-盒)2、Kerberos认证系统3、简答题(三题每题8分):课后习题第一章、第三章、第四章第一章:重点关注安全模型内容,有几种,有几个分级…