【Linux】yum 报错ModuleNotFoundError: No module named ‘dnf‘
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'
问题排查思路
1. 查看/usr/lib/python[版本]/下的site-packages
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看是否恢复正常
2. python 默认版本更改
首先查看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是否可用
3.直接卸载版本过高的python
确认yum 的python版本过高,导致3.7版本无法使用rpm安装,文章来源:https://www.toymoban.com/news/detail-687996.html
联系研发,确认不需要此版本后,将python3.8卸载即可文章来源地址https://www.toymoban.com/news/detail-687996.html
$ sudo rpm -e --nodeps python3-3.8-13.x86_64 ## 后面的文件 根据实际情况来定
到了这里,关于【Linux】yum 报错ModuleNotFoundError: No module named ‘dnf‘的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!