yum 在使用的时候,报错
[root@localhost python3.7]$ sudo yum
Traceback (most recent call last):
File "/usr/bin/yum", line 57, in <module>
from dnf.cli import main
ModuleNotFoundError: No module named 'dnf'
site-packages存在问题,会导致出现上述问题
处理方法:
查看python版本,重新安装,这里默认是3.7版本的
找到rpm包,执行安装命令
$ sudo rpm -ivh python3-3.7.9-13.x86_64.rpm
# 如果安装提示此rpm包已经存在,需要手动卸载后,再次安装
$ sudo rpm -qa | grep python3-3.7
python3-3.7.9-13.x86_64.rpm
# 卸载完成后,再次安装即可
$ sudo rpm -ivh python3-3.7.9-13.x86_64.rpm
查看/usr/lib/python3.7下是否存在site-package 确认都存在,且大小正常的情况下,执行yum看是否恢复正常
首先查看yum使用的是python几
$ head -n 1 /usr/bin/yum
#!/usr/bin/python3
上述的yum默认是python3
查看python3 的版本是否是3.7
$ python3 --version
Python 3.8.x
# 查看默认的版本,发现不是3.7
# 需要手动修改环境变量,将python3 修改为3.7
$ ls -l /usr/bin/python3
lrwxrwxrwx 1 root root 9 7月 8 2021 /usr/bin/python3 -> python3.8
将软连接重新指到3.7后,再次查看
$ rm -f /usr/bin/python3
$ ln -s /usr/bin/python3.7 /usr/bin/python3
$ python3 --version
Python 3.7.9
再次查看yum是否可用
确认yum 的python版本过高,导致3.7版本无法使用rpm安装,
联系研发,确认不需要此版本后,将python3.8卸载即可
$ sudo rpm -e --nodeps python3-3.8-13.x86_64 ## 后面的文件 根据实际情况来定