首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ModuleNotFoundError:运行yum或dnf时没有名为'dnf‘的模块

ModuleNotFoundError:运行yum或dnf时没有名为'dnf‘的模块
EN

Stack Overflow用户
提问于 2018-12-22 18:06:18
回答 3查看 9.3K关注 0票数 1

几天前,我想运行dnf,但收到以下错误

代码语言:javascript
复制
Traceback (most recent call last):
  File "/usr/bin/dnf", line 57, in <module>
    from dnf.cli import main
ModuleNotFoundError: No module named 'dnf'

因此,我尝试运行yum,并收到类似的结果:

代码语言:javascript
复制
Traceback (most recent call last):
  File "/usr/bin/yum", line 57, in <module>
    from dnf.cli import main
ModuleNotFoundError: No module named 'dnf'

我不知道发生了什么,我希望有人能帮我找到问题并解决它。我唯一知道的是,这可能与我在python中使用conda安装tensorflow的前几天有关。尽管conda现在似乎不能工作了,因为我得到了这个:

代码语言:javascript
复制
Traceback (most recent call last):
  File "/usr/bin/conda", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3126, in <module>
    @_call_aside
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3110, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3139, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 581, in _build_master
    ws.require(__requires__)
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 898, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 784, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'conda==4.5.11' distribution was not found and is required by the application

我正在使用29号软呢帽,谢谢!

EN

回答 3

Stack Overflow用户

发布于 2019-03-22 15:46:38

我也有同样的问题,但经过反复试验,唯一有效的方法是:

代码语言:javascript
复制
rpm -qa python3

这将宣布您的python3 rpm包。

我已经从网上搜索并下载了它

转到下载的目录,如下所示:

代码语言:javascript
复制
sudo rpm -e --nodeps python3-3.7.2-4.fc29.x86_64(my python3 rpm package)
sudo rpm -i python3-3.7.2-4.fc29.x86_64.rpm

我尝试了许多其他方法,因此这不是解决该问题的唯一因素。

票数 3
EN

Stack Overflow用户

发布于 2020-09-24 15:12:21

我有个朋友也遇到了同样的问题。

他试图通过一些神奇的命令rpm -qa|grep python3|xargs rpm -ev --allmatches --nodepswhereis python3 |xargs rm -frv卸载linux服务器上的python3.7

这导致yumdnf中断。

我将/usr/bin/yum更改为使用本地python3.8版本,但最终导致了ModuleNotFoundError: No module named 'dnf',并且没有解决它。

在Internet上下载许多rpm包并不是一个好方法。我也不会用美味佳肴。但是我有另一个相同的linux OS服务器,所以我尝试复制关于python3.7的相关文件。

代码语言:javascript
复制
$ rpm -ql python3-3.7.0-9.h4.eulerosv2r8.aarch64> py.log
$ while read -r line;do dirname $line |xargs -I {} ssh root@$remoteip "mkdir -p {}" ;scp $line root@$remoteip:$line  ;done<py.log

$ rpm -ql python3-libs-3.7.0-9.h4.eulerosv2r8.aarch64 >pylib.log
$ while read -r line;do dirname $line |xargs -I {} ssh root@$remoteip "mkdir -p {}" ;scp $line root@$remoteip:$line  ;done<pylib.log

scp -r /usr/lib/python3.7/site-packages root@$remoteip:/usr/lib/python3.7/

我用这种方式恢复了yum

票数 0
EN

Stack Overflow用户

发布于 2020-12-29 00:57:35

我也有同样的问题。对我来说,解决方案是简单地卸载python3 dnf包(包括从所有的virtualenvs中卸载),这显然是我曾经安装过的。

代码语言:javascript
复制
pip uninstall dnf
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53894712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档