I get the following error in various situations, for example when I try to start a package that is not installed:
$ tldr 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' Error in sys.excepthook: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook from apport.fileutils import likely_packaged, get_recent_crashes File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module> from apport.report import Report File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module> import apport.fileutils File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in <module> from apport.packaging_impl import impl as packaging File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 24, in <module> import apt File "/usr/lib/python3/dist-packages/apt/__init__.py", line 23, in <module> import apt_pkg ModuleNotFoundError: No module named 'apt_pkg' Original exception was: 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' I've tried the solution in https://askubuntu.com/questions/1190328/modulenotfounderror-no-module-named-apt-pkg but that didn't help. I've also tried installing and reinstalling different versions of python, and change the update-alternatives links. I suspect that I somehow ruined the configuration of the python the OS uses.
Some general info:
$ cat /etc/os-release NAME="KDE neon" VERSION="5.18" ID=neon ID_LIKE="ubuntu debian" PRETTY_NAME="KDE neon User Edition 5.18" VARIANT="User Edition" VERSION_ID="18.04" HOME_URL="http://neon.kde.org/" SUPPORT_URL="http://neon.kde.org/" BUG_REPORT_URL="http://bugs.kde.org/" LOGO=start-here-kde-neon PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" VERSION_CODENAME=bionic UBUNTU_CODENAME=bionic python2:
$ update-alternative s --config python There is only one alternative in link group python (providing /usr/bin/python): /usr/bin/python2.7 Nothing to configure. $ python --version Python 2.7.17 python3:
$ update-alternatives --config python3 There is only one alternative in link group python3 (providing /usr/bin/python3): /usr/bin/python3.7 Nothing to configure. $ python3 --version Python 3.7.5