首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DNF和YUM在清除usr/lib/python3.5/site-packages/

DNF和YUM在清除usr/lib/python3.5/site-packages/
EN

Stack Overflow用户
提问于 2017-02-17 16:50:46
回答 5查看 7.2K关注 0票数 1

我在摆弄Fedora,试图卸载python模块。我找不到我要找的那个,所以半个linux灵长类大脑想出了一个主意来执行这个计划。

代码语言:javascript
复制
sudo rm -rf /usr/lib/python3.5/site-packages/

只是在那之后我才意识到我是多么的愚蠢。DNF和百胜依赖于它,每当我执行DNF时,我就会得到

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

当我处决百胜时

代码语言:javascript
复制
Redirecting to '/usr/bin/dnf ' (see 'man yum2dnf')

Traceback (most recent call last):
  File "/usr/bin/dnf", line 57, in <module>
    from dnf.cli import main
ImportError: No module named 'dnf'

唯一起作用的是yum-deprecated。其他一切都乱七八糟。

那我该怎么解决这个问题?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2017-02-18 15:32:21

清除Python3的网站包目录会移除许多Fedora需要正常工作的库。这意味着像dnfyum这样的工具不能工作。

这些是我为解决这个问题而采取的步骤。

步骤1:安装yum-deprecated。只需在终端上键入yum-deprecated,它就会问您要安装它吗?键入y并将安装它。

步骤2:运行此Bash命令

代码语言:javascript
复制
rpm -qa | egrep "^python3" | sed ':a;N;$!ba;s/\n/ /g' | xargs sudo yum-deprecated reinstall -y

这将查找已安装的python 3包的所有名称,并重新安装它们。

请注意:永远不要再运行像sudo rm -rf /usr/lib/python3.5/site-packages/这样的命令。

票数 5
EN

Stack Overflow用户

发布于 2017-02-18 04:19:35

使用“rpm-Va”标识缺少文件的包。然后,您必须从Fedora镜像下载匹配的RPM文件,然后使用rpm --reinstall修复这些文件。

更高级别的dnf和yum包依赖于Python,因此它们很可能会被破坏。幸运的是,较低级别的rpm命令没有,所以如果您已经删除了python包,这将使您恢复正常状态。

票数 2
EN

Stack Overflow用户

发布于 2017-02-17 17:25:03

您基本上删除了许多python文件。系统的很大一部分依赖于python,包括用python编写的dnf本身。

最好的做法是备份所有文件并重新安装系统。如果yum-deprecated仍然有效,您可能会顺利地重新安装dnf

代码语言:javascript
复制
yum-deprecated reinstall "dnf*"

但最有可能的是,您需要更多的包来完成相同的过程。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42303309

复制
相关文章

相似问题

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