2017-02-17 6 views
1

私はPythonモジュールをアンインストールしようとしていますが、Fedoraを使いこなしていました。私が探していたものを見つけることができなかったので、Linuxの霊長類脳の半分がIdeaを考えて、これを実行しました。usr/lib/python3.5/site-packages/

sudo rm -rf /usr/lib/python3.5/site-packages/ 

それはそれのことでしたし、それ以降は私がどれほど愚かなのか分かりました。 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' 

を取得し、私は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' 

を実行したときに作品唯一のものは、yum-deprecatedです。他のすべては混乱している。

どうすればこの問題を解決できますか?

答えて

2

Python3のSite-Packagesディレクトリをパージすると、Fedoraが正常に機能するために必要な多くのライブラリが削除されます。つまり、dnfyumのようなツールは動作しません。

これはこれを解決するために取った手順です。

ステップ1:インストールyum-deprecated。 yum-deprecatedと入力するだけで、インストールするかどうかを尋ねるメッセージが表示されます。 yと入力すると、インストールされます。

ステップ2:このバッシュコマンドを実行します

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/のようなコマンドを実行しないでください。

1

あなたは基本的に多くのpythonファイルを削除しました。システムの大部分は、Pythonで書かれたdnf自体を含む、Pythonに依存しています。

すべてのファイルをバックアップしてシステムを再インストールすることをお勧めします。 yum-deprecatedがまだ動作している場合は、dnfを再インストールして運を持っているかもしれません:

yum-deprecated reinstall "dnf*" 

しかし、おそらくあなたは、同じ手順を経て取るために多くのより多くのパッケージが必要になります。

+0

修正しませんでした。あなたがインストールしたPythonパッケージの名前を要件ファイルとして与えることができますか? –

2

「rpm -Va」を使用して、ファイルが見つからないパッケージを識別します。その後、一致するRPMファイルをFedoraミラーからダウンロードしてから、rpm --reinstallを使用して修正する必要があります。

上位レベルのdnfパッケージとyumパッケージはPythonに依存しているため、破損する可能性があります。幸い、下位レベルのrpmコマンドはありません。したがって、Pythonパッケージがすべて削除されていれば、これはあなたを元に戻すはずです。

+0

私はそれを行い、出力をこのファイルにパイプしましたhttps://drive.google.com/file/d/0B-fWI8D4m3DxcWk0bmI3R1J5bGc/view?usp=sharing これは約7000行です。特に有用ではない。 –

+0

決して気にしない、働いている。ありがとう –