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