• conda环境下XZ_5.1.2alpha not found解决方案


    1 问题描述

    yum install cmake

    使用yum安装cmake失败,失败信息如下:

    1. [root@localhost]# yum install cmake
    2. There was a problem importing one of the Python modules
    3. required to run yum. The error leading to this problem was:
    4. /root/anaconda3/lib/liblzma.so.5: version `XZ_5.1.2alpha' not found (required by /lib64/librpmio.so.3)
    5. Please install a package which provides this module, or
    6. verify that the module is installed correctly.
    7. It's possible that the above module doesn't match the
    8. current version of Python, which is:
    9. 2.7.5 (default, Oct 14 2020, 14:45:30)
    10. [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)]
    11. If you cannot solve this problem yourself, please go to
    12. the yum faq at:
    13. http://yum.baseurl.org/wiki/Faq

    2 问题分析

    从下面这句话分析,可以得出结论

    1. /root/anaconda3/lib/liblzma.so.5: version `XZ_5.1.2alpha' not found (required by /lib64/librpmio.so.3)
    2. Please install a package which provides this module, or
    3. verify that the module is installed correctly.
    4. It's possible that the above module doesn't match the
    5. current version of Python, which is:
    6. 2.7.5 (default, Oct 14 2020, 14:45:30)

    本问题主要是yum与anaconda3冲突引起的,yum环境下的python版本为2.7,而anaconda3环境下的版本为3.x。

    3 问题解决

    删除原来的软连接,创建新的软连接,指向系统lib库

    1. cd $CONDA_PREFIX/lib
    2. rm libcurl.so.4 libcurl.so liblzma.so.5 liblzma.so
    3. ln -s /lib64/liblzma.so.5.2.2 liblzma.so.5
    4. ln -s liblzma.so.5 liblzma.so
    5. ln -s /lib64/libcurl.so.4.3.0 libcurl.so.4
    6. ln -s libcurl.so.4 libcurl.so

    再次运行cmake安装命令显示如下:

    1. yum install cmake
    2. 已加载插件:fastestmirror, langpacks, nvidia, priorities
    3. Determining fastest mirrors
    4. * base: mirrors.aliyun.com
    5. * centos-sclo-rh: mirrors.bfsu.edu.cn
    6. * centos-sclo-sclo: mirrors.bfsu.edu.cn
    7. * extras: mirrors.aliyun.com
    8. * nux-dextop: li.nux.ro
    9. * updates: mirrors.aliyun.com
    10. 正在解决依赖关系
    11. --> 正在检查事务
    12. ---> 软件包 cmake.x86_64.0.2.8.12.2-2.el7 将被 安装
    13. --> 解决依赖关系完成
    14. 依赖关系解决
    15. ==========================================================================================================================================================================================
    16. Package 架构 版本 源 大小
    17. ==========================================================================================================================================================================================
    18. 正在安装:
    19. cmake x86_64 2.8.12.2-2.el7 base 7.1 M
    20. 事务概要
    21. ==========================================================================================================================================================================================
    22. 安装 1 软件包
    23. 总下载量:7.1 M
    24. 安装大小:27 M
    25. Is this ok [y/d/N]: y
    26. Downloading packages:
    27. cmake-2.8.12.2-2.el7.x86_64.rpm | 7.1 MB 00:00:06
    28. Running transaction check
    29. Running transaction test
    30. Transaction test succeeded
    31. Running transaction
    32. 正在安装 : cmake-2.8.12.2-2.el7.x86_64 1/1
    33. 验证中 : cmake-2.8.12.2-2.el7.x86_64 1/1
    34. 已安装:
    35. cmake.x86_64 0:2.8.12.2-2.el7
    36. 完毕!

    最终安装成功,问题解决!

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

    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 的信息。
  • 相关阅读:
    基于Syntiant TinyML Board与Edge Impulse的LED语音控制(Arduino/C++)
    CASIO虚线替换部分及切线支距法
    大一C语言入门到底怎么学
    Vue3+Vite实现工程化,插值表达式和v-text以及v-html
    Ventoy万能U盘安装系统,支持任何的操作系统安装
    蓝蜂物联网水肥一体化MQTT应用案例
    java学习day51(AdminLTE)AdminLTE快速入门与应用
    解决Office Word另存为PDF卡死的问题
    Linux下设备树、pinctrl和gpio子系统、LED灯驱动实验
    C/C++ 单元自动化测试解决方案实践
  • 原文地址:https://blog.csdn.net/lsb2002/article/details/133157839