yum+anaconda3冲突

yum与anaconda3冲突问题

问题描述

出错系统:centos7

python环境:使用anacoda3安装的python3.7

问题描述(本问题适用于使用anaocoda3安装的python3):

yum不能使用,会产生以下错误

问题一:

/root/anaconda3/lib/liblzma.so.5: version `XZ_5.1.2alpha’ not found (required by /lib64/librpmio.so.3)

解决后肯定会出现问题二:

/usr/lib64/python2.7/site-packages/pycurl.so: undefined symbol: CRYPTO_num_locks

解决方案

  • 解决问题一:

    • 确定是否存在XZ:

      • XZ -V # 获得版本号,若没有则进行安装,自行百度。
    • 安装完成后,进入anaconda3/lib目录:

      • 查看anaconda3位置:whereis anaconda3
      • 进入目录:cd anaconda3/lib
    • 建立软连接:

      • ln -s -f liblzma.so.5.x.x liblzma.so.5
      • 此时若yum无问题一,则不需要进行下一步
      • 下一步: rm -rf liblzma.so.5.x.x
  • 解决问题二:

​ 在完成问题一后还有问题会出现,可以推断为,问题一的解决方法不能解决根本问题。

​ 以下根本问题的解决。

    • 一条命令可以使yum马上好起来:

      • export LD_LIBRARY_PATH=/lib:/lib64:/usr/lib64/:/usr/lib:/root/anaconda3/lib:$LD_LIBRARY_PATH
      • 以上路径请自行匹配自己的环境
    • 当然这只是一次性的,经过反复尝试终于找到问题的根源

      • 在安装anaconda时,使用自动创建的环境变量的名称和该命令中的环境变量名称冲突
      • 且配置的环境变量存放在~/.bach_profile中,自动配置的环境变量中只包含了/root/anaconda3/lib,即安装的anaconda的lib。
      • 只需在前面加上/lib:/lib64:/usr/lib64/:/usr/lib:
      • 保存后,使用 source ~/.bach_profile
    • Yum 最终被你制服了

排错回顾(含linux环境变量知识补充)

问题一的解决根据网上查找的资料很容易解决,到了问题二也很容易找到一条命令就好起来的方法,但重启远程连接后yum命令还是失效。

export 命令是对环境变量的操作,首先得理解到这一点。

然后尝试直接在环境变量相关的文件中进行写入

并生效(source/重进),此时还不理解环境变量文件的区别和加载顺序。

linux中通常由以下几个环境变量的配置:

  • 直接使用export 命令,只对当前的shell(bash)有效,且临时的。

  • 系统环境变量

    • /etc/proflie:
      • 全局(公有)配置,不管是哪个用户,登录时都会读取该文件。
    • /etc/bash.bashrc
      • 它也是全局(公有)的 bash执行时,不管是何种方式,都会读取此文件。
    • /etc/environment
      • 不要轻易修改此文件
  • 用户环境变量

    • ~/.profile:
      • 若bash是以login方式执行时,读取/.bash_profile,若它不存在,则读取/.bash_login,若前两者不存在,读取~/.profile。
    • ~/.bash_profile:
      • 若bash是以login方式执行时,读取/.bash_profile,若它不存,则读取/.bash_login,若前两者不存在,读取 ~/.profile。
      • 只有bash是以login形式执行时,才会读取.bash_profile,Unbutu默认没有此文件,可新建。 通常该配置文件还会配置成去读取~/.bashrc。
    • ~/.bashrc
      • 当bash是以non-login形式执行时,读取此文件。若是以login形式执行,则不会读取此文件。
    • ~/.bash_profile是交互式、login 方式进入 bash 运行的
      • ~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。
  • 加载顺序:

    全局环境变量设置文件:/etc/profile、/etc/bashrc。
    用户环境变量设置文件:~/.bash_profile、~/.bashrc。

    • /etc/profile
    • ~/.bash_profile
    • ~/.bashrc
    • /etc/bashrc

由此可以理清排查顺序,最终找到命令失效的原因

环境变量的名称失效

转:https://blog.csdn.net/yifen4234/article/details/80691434

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坠入my

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值