当前位置:   article > 正文

conda环境下Could not build wheels for dlib解决方法_error: could not build wheels for dlib, which is r

error: could not build wheels for dlib, which is required to install pyproje

1 问题描述

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

  1. Building wheels for collected packages: basicsr, face-alignment, dlib, ffmpy, filterpy, future
  2. Building wheel for basicsr (setup.py) ... done
  3. Created wheel for basicsr: filename=basicsr-1.4.2-py3-none-any.whl size=214848 sha256=a369da2f20c23d7f389b174f7fd3423377b4020022ff6234a98d21838d109e8e
  4. Stored in directory: c:\users\admin\appdata\local\pip\cache\wheels\b8\12\22\9e31eeca4e56e9ca769f4d3bf4bf0434dcb6aa3a669a719970
  5. Building wheel for face-alignment (setup.py) ... done
  6. Created wheel for face-alignment: filename=face_alignment-1.3.4-py2.py3-none-any.whl size=27875 sha256=feb3a8fe39f518c67f16510754de6fca2cffb9a98857586485f350f3564e18cb
  7. Stored in directory: c:\users\admin\appdata\local\pip\cache\wheels\de\68\f5\76db2e5ffbc882386a686244cb7058309a1cee25d6c1c54553
  8. Building wheel for dlib (setup.py) ... error
  9. error: subprocess-exited-with-error
  10. × python setup.py bdist_wheel did not run successfully.
  11. exit code: 1
  12. ╰─> [7 lines of output]
  13. running bdist_wheel
  14. running build
  15. running build_py
  16. running build_ext
  17. ERROR: CMake must be installed to build dlib
  18. [end of output]
  19. note: This error originates from a subprocess, and is likely not a problem with pip.
  20. ERROR: Failed building wheel for dlib
  21. Running setup.py clean for dlib
  22. Building wheel for ffmpy (setup.py) ... done
  23. Created wheel for ffmpy: filename=ffmpy-0.3.1-py3-none-any.whl size=5601 sha256=3b22c45083478e29b11dd535580a00a99fe3114695efdbda1375df2fc63aa84a
  24. Stored in directory: c:\users\admin\appdata\local\pip\cache\wheels\72\31\9f\d801db52ffc8fb7c94572f781112c98dad0ce7e4cef176d158
  25. Building wheel for filterpy (setup.py) ... done
  26. Created wheel for filterpy: filename=filterpy-1.4.5-py3-none-any.whl size=110542 sha256=c386ba7c32023a939fd157d57afa55df2050307f02511a6b6c7d1fb9ca4681c1
  27. Stored in directory: c:\users\admin\appdata\local\pip\cache\wheels\1f\a0\08\9388a0fe5337fbe2a814a3a8e2c63119ce722a2a42b5828c66
  28. Building wheel for future (setup.py) ... done
  29. Created wheel for future: filename=future-0.18.3-py3-none-any.whl size=492054 sha256=e2d3b5191bb4b8e063d508b0045b21e0057e7fa744127f7c414f65897f3e2577
  30. Stored in directory: c:\users\admin\appdata\local\pip\cache\wheels\d6\16\c3\446e86546ea4e6f218702c330e7e320575b71b597f95f78108
  31. Successfully built basicsr face-alignment ffmpy filterpy future
  32. Failed to build dlib
  33. 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模块:

  1. pip list
  2. Package Version
  3. ----------------- ------------
  4. dlib 19.24.2
  5. numpy 1.24.4
  6. Pillow 10.1.0
  7. pip 23.3.1
  8. setuptools 68.2.2
  9. torch 1.9.0+cu111
  10. torchvision 0.10.0+cu111
  11. typing_extensions 4.9.0
  12. 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可以轻松安装和管理各种数据科学和机器学习的库(如NumPy, Pandas, Scikit-learn, TensorFlow, PyTorch等),它成为了这些领域专家的首选工具。

  • 多语言项目:对于涉及Python、R、Ruby、Lua、Scala等多种编程语言的项目,Conda能够有效管理不同语言的依赖和环境,使项目维护变得更加简单。

  • 环境隔离:在需要为不同项目创建隔离的运行环境时,Conda可以创建独立的环境,每个环境具有不同的库和版本,这有助于防止依赖冲突。

  • 跨平台开发:由于Conda支持Windows、macOS和Linux,它允许开发者在不同的操作系统上以一致的方式设置和维护他们的开发环境。

  • 科学研究:在科学研究中,需要使用特定版本的软件和库来重现实验结果。Conda可以确保这些环境的一致性和可复制性。

  • 软件开发:对于需要确保应用程序在特定版本的库上正常运行的开发场景,Conda可以帮助管理和锁定这些依赖。

  • 教育和培训:在教育场景中,Conda可以帮助创建统一的学习环境,确保所有学生都在相同的软件设置下学习。

  • 持续集成/持续部署(CI/CD):在自动化构建和部署流程中,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 的信息。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/127132
推荐阅读
相关标签
  

闽ICP备14008679号