概述
我的系统使用的centos7.5.1804
一、问题描述
在centos中尝试使用yum install安装东西时突然出现了一个错误:
No module named yum
怀疑是yum指向的python版本出现了错误,所以:
编辑yum文件:
vim /usr/bin/yum
然后将首行的#!/usr/bin/python 改为 #!/usr/bin/python2.7。但是这样出现了一个新的错误:
/usr/bin/python2.7:坏的解释器,没有那个文件或目录
然后我去查看/usr/bin/路径,发现并没有python2.7这个可执行文件。再去查看/usr/lib/,里面存在安装了各种site-packeges的python2.7文件夹,说明python2.7的环境并没有被删除。顿悟,原来是之前删除anaconda的python2.7的虚拟环境时,在配置软连接时,误删了/usr/bin 路径下的python2.7和python这两个可执行文件。锁定问题所在,就开始解决。
二、解决方案
网上搜索大量解决方案,基本都说是误删了python环境之后,通过卸载干净和重新安装来解决。但是,我并没有删除python的环境,而且centos7系统很多配置都依赖于自带的python2.7,例如上面所提的yum等,卸载python需要及其慎重!!!
最后,我找到了一个博客给了我思路。上面提到,可以通过重新下载、编译python,生成可执行文件。通过尝试,我成功地解决了问题。下面为步骤:
1. 查询系统之前对应版本的python的rpm包:
rpm -qa |grep python-2
我的是python-2.7.5-68.el7.x86_64.rpm
2. 下载rpm包:
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/python-2.7.5-68.el7.x86_64.rpm
如果是系统版本不同,可以将中间的7.5.1804改为自己对应的版本即可。
3. 将这个源文件包中的python2.7提取出来放到当前目录中:
rpm2cpio ./python-2.7.5-68.el7.x86_64.rpm | cpio -idv ./python2.7
4. 再将提取出来的python2.7这个可执行文件移到/usr/bin目录下即可:
mv ./python2.7 /usr/bin/
补充:如果要想输入python,指向刚刚生成的python2.7环境时,就还需要修改下python的软连接。修改步骤如下:
查看python指向路径:
which python
查看alias全部列表:
alias
取消原先的python软连接:
unalias python
重新python指向 :
alias python='/usr/bin/python2.7'
最后
以上就是虚幻棒棒糖为你收集整理的centos7误删/usr/bin/python2.7的解决方案的全部内容,希望文章能够帮你解决centos7误删/usr/bin/python2.7的解决方案所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复