CommandNotFound.db.creator импортирует DbCreator в Ubuntu

после установки Python 3.7 и Mysql на Ubuntu 18 LTS я получаю следующую ошибку после запуска команды «sudo apt update»

Get:7 http://us.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]      
Fetched 252 kB in 1s (334 kB/s)                                
Traceback (most recent call last):
  File "/usr/lib/cnf-update-db", line 8, in <module>
    from CommandNotFound.db.creator import DbCreator
  File "/usr/lib/CommandNotFound/db/creator.py", line 11, 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/cnf-update-db", line 8, in <module>
    from CommandNotFound.db.creator import DbCreator
  File "/usr/lib/CommandNotFound/db/creator.py", line 11, in <module>
    import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'
Reading package lists... Done
E: Problem executing scripts APT::Update::Post-Invoke-Success 'if /usr/bin/test -w /var/lib/command-not-found/ -a -e /usr/lib/cnf-update-db; then /usr/lib/cnf-update-db > /dev/null; fi'
E: Sub-process returned an error code

Теперь при установке любого нового программного обеспечения я снова и снова получаю ту же ошибку .

Есть ли какое-то решение по этому поводу?

0
задан 6 September 2019 в 21:36

2 ответа

У Вас есть проблема со способным к Python пакетом. Попробуйте sudo apt-get remove --purge python3-apt и sudo apt autoremove затем установка: apt-get install python3-apt

0
ответ дан 23 October 2019 в 13:02

Это может быть потому, что символическая ссылка / usr / bin / python3 не указывает на версию Python3, которая убунту ожидает. Ubuntu 18.04 в настоящее время находится на 3.6.9 .

Чтобы исправить это, вам может потребоваться воссоздать символическую ссылку / usr / bin / python3 , чтобы указать на /usr/bin/python3.6 .

Если вы не можете найти исполняемый файл python3.6 или он работает некорректно, вам может потребоваться очистить и переустановить python3-apt в соответствии с комментарием gongarek.

Я столкнулся с этим сегодня, потому что вчера вечером я указал / usr / bin / python3 на мою установку Python 3.7 из-за проблемы cron. Я использую Python 3.7 для всего нового кода, чтобы использовать фьючерсную функцию ( из __future__ import print_function ), которая не поддерживается в Python 3.6 . Это была проблема с заданиями cron, поскольку cron использовал / usr / bin / python3 для выполнения сценария, который не удалось выполнить. Моя работа теперь должна заключаться в явном указании правильного пути к исполняемому файлу python 3.7 .

С этой проблемой cron вы увидите в журнале выполнения cron stderr / stdout:

SyntaxError: future feature annotations is not defined
Traceback (most recent call last):
  File "./mem_check.py", line 20, in <module>
    import qcorelite as Q_
  File "/home/tquinn/_data/tqmain/sys/memory_check/qcorelite.py", line 1
    from __future__ import annotations, print_function
1
ответ дан 17 February 2020 в 01:29

Другие вопросы по тегам:

Похожие вопросы: