最近遇到 CentOS 7 下 yum 无法正常使用的问题,运行 yum 提示以下错误:
关键词:no module named yum
经搜索是因为 yum 和 python 的依赖关系引起的,也就是说有人在系统上动过 python 环境,可能是安装、更新、卸载等。
这时需要重新配置原来的 python 环境:
1、首先解除当前 python 环境变量:
unset PYTHONHOME
如果 .bashrc
或 .bash_profile
中有相关设置的话也一并删除。
2、重新通过 rpm 命令安装 python 相关软件包(根据系统自带 python 版本不同进行选择):
例如这次遇到的 CentOS,原本是使用 python 2.7.5,需要从 CentOS 源下载:
http://mirror.centos.org/centos/7/os/x86_64/Packages/
下载的软件及依赖如下:
-rw-r--r--. 1 root root 59548 Apr 13 18:39 libXft-2.3.2-2.el7.x86_64.rpm
-rw-r--r--. 1 root root 97772 Apr 13 17:03 python-2.7.5-86.el7.x86_64.rpm
-rw-r--r--. 1 root root 7916 Apr 13 17:25 python2-rpm-macros-3-32.el7.noarch.rpm
-rw-r--r--. 1 root root 407640 Apr 13 17:05 python-devel-2.7.5-86.el7.x86_64.rpm
-rw-r--r--. 1 root root 5917984 Apr 13 17:17 python-libs-2.7.5-86.el7.x86_64.rpm
-rw-r--r--. 1 root root 9024 Apr 13 17:25 python-rpm-macros-3-32.el7.noarch.rpm
-rw-r--r--. 1 root root 8596 Apr 13 18:37 python-srpm-macros-3-32.el7.noarch.rpm
-rw-r--r--. 1 root root 877600 Apr 13 17:16 python-tools-2.7.5-86.el7.x86_64.rpm
-rw-r--r--. 1 root root 1980564 Apr 13 17:26 tcl-8.5.13-8.el7.x86_64.rpm
-rw-r--r--. 1 root root 260076 Apr 13 17:15 tix-8.4.3-12.el7.x86_64.rpm
-rw-r--r--. 1 root root 142592 Apr 13 17:15 tix-devel-8.4.3-12.el7.x86_64.rpm
-rw-r--r--. 1 root root 1496732 Apr 13 17:27 tk-8.5.13-6.el7.x86_64.rpm
-rw-r--r--. 1 root root 334820 Apr 13 17:25 tkinter-2.7.5-86.el7.x86_64.rpm
然后在该目录下执行(注意是否有其它 rpm 包,有的话移开):
rpm -Uvh --replacefiles --replacepkgs *.rpm
作者:李凌