存在しないコマンドはaptの提案ではなくpythonを参照します

存在しないコマンドはaptの提案ではなくpythonを参照します

Ubuntu インストールに新しいバージョンの Python をインストールするときに問題が発生しました。いくつかの異なるバージョンをダウンロードした後、Python を 3.8 バージョンに再ポイントし、pip を pip3 に再ポイントするなど、いくつかのソフト リンクを変更しました。

今私の問題は、通常であれば適切な提案が表示されるか、コマンドが見つからないというエラーが表示されるはずのものを入力したときに、Pythonエラーが表示されるようになったことです。

動作中のVMからの例(変更していない)

ubuntu@vps-f116ed9f:/usr/bin$ wer

Command 'wer' not found, did you mean:

  command 'we' from deb xwpe (1.5.30a-2.1build3)
  command 'ner' from deb frog (0.15-1build2)

Try: sudo apt install <deb name>

ubuntu@vps-f116ed9f:/usr/bin$ lskdflskdf
lskdflskdf: command not found

Pythonとソフトリンクを変更したVMからの例

myuser@myhost:/usr/bin$ wer
Traceback (most recent call last):
  File "/usr/lib/command-not-found", line 28, in <module>
    from CommandNotFound import CommandNotFound
  File "/usr/lib/python3/dist-packages/CommandNotFound/CommandNotFound.py", line 19, in <module>
    from CommandNotFound.db.db import SqliteDatabase
  File "/usr/lib/python3/dist-packages/CommandNotFound/db/db.py", line 5, in <module>
    import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'


myuser@myhost:/usr/bin$ lkjsdfkljsdf
Traceback (most recent call last):
  File "/usr/lib/command-not-found", line 28, in <module>
    from CommandNotFound import CommandNotFound
  File "/usr/lib/python3/dist-packages/CommandNotFound/CommandNotFound.py", line 19, in <module>
    from CommandNotFound.db.db import SqliteDatabase
  File "/usr/lib/python3/dist-packages/CommandNotFound/db/db.py", line 5, in <module>
    import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'

適切な提案や「コマンドが見つかりません」というメッセージが再び表示されるようにするには、どうすれば修正できるか知っている人はいませんか?

答え1

変更を元に戻します。提案されたパッケージは Ubuntu 20.04 を示していますが、Focal にはすでに 3.8 の python3 パッケージがあります。この状態になるために何をしたのかはわかりません。

Python モジュール apt_pkg (python3 バージョン) を含む deb パッケージを見つけます。

apt-file search apt_pkg

apt_pkgを再インストールするPython apt バインディングが存在することを確認します。

apt reinstall python3-apt

関連情報