Asw*_*han 1 python bash pip fedora
我在摆弄Fedora,试图卸载python模块。我找不到我想要的那个,所以半个Linux灵长类动物的大脑想到了一个Idea来执行此操作。
sudo rm -rf /usr/lib/python3.5/site-packages/
Run Code Online (Sandbox Code Playgroud)
确实做到了,直到后来我才意识到自己有多么愚蠢。DNF和YUM依赖于此,每执行一次DNF都会得到
Traceback (most recent call last):
File "/usr/bin/dnf", line 57, in <module>
from dnf.cli import main
ImportError: No module named 'dnf'
Run Code Online (Sandbox Code Playgroud)
当我执行YUM时
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'
Run Code Online (Sandbox Code Playgroud)
唯一有效的方法是yum-deprecated。其他一切都处于动荡之中。
那么我该如何解决呢?
清除Python3的Site-Packages目录将删除Fedora要正常运行所需的许多库。这意味着工具,如dnf与yum不工作。
这些是我要解决的步骤。
步骤1:安装yum-deprecated。只需在终端上键入yum不推荐使用,它将询问您是否要安装它。键入y,它将被安装。
步骤2:运行此Bash命令
rpm -qa | egrep "^python3" | sed ':a;N;$!ba;s/\n/ /g' | xargs sudo yum-deprecated reinstall -y
Run Code Online (Sandbox Code Playgroud)
这将找到Installed python 3软件包的所有名称,然后重新安装它们。
对我自己的注意:永远不要再运行命令sudo rm -rf /usr/lib/python3.5/site-packages/。