Я использую Ubuntu 18.04 и заметил, что в верхнем левом углу экрана неожиданно появился этот значок . Я думал, что это произошло из-за краткого отключения, поэтому я не особо волновался.
Теперь, когда я запускаю sudo apt-get update
, процесс останавливается с этой ошибкой:
Hit:1 http://it.archive.ubuntu.com/ubuntu bionic InRelease
Hit:2 http://it.archive.ubuntu.com/ubuntu bionic-updates InRelease
Hit:3 http://it.archive.ubuntu.com/ubuntu bionic-backports InRelease
Hit:4 http://security.ubuntu.com/ubuntu bionic-security InRelease
Hit:5 http://packages.ros.org/ros/ubuntu bionic InRelease
Hit:6 https://download.sublimetext.com apt/stable/ InRelease
Traceback (most recent call last):
File "/usr/lib/cnf-update-db", line 8, in <module>
from CommandNotFound.db.creator import DbCreator
File "/usr/lib/python3/dist-packages/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/python3/dist-packages/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
Единственная «злая» вещь, которую я помню, делал перед тем, как увидел такую иконку, - вход sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 0
расставить приоритеты этой новой версии Python.
Так как по ошибке я вижу, что импорт Python завершается неудачно, я решил прояснить ситуацию.
Итак, я попробовал:
E: Unable to locate package apt_pkg
-> ошибка вывода изменена на
(...)
sh: 1: /usr/lib/cnf-update-db: not found
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
Более того : я больше не могу получить доступ к своему терминалу. Единственный неудобный способ, который я нахожу, - это щелкнуть правой кнопкой мыши в любом месте, а затем выбрать «Открыть терминал». Для этого я попытался
failed to execute child process gnome-terminal:
no such file or directory
$ gnome-terminal
приводит к bash: /usr/bin/gnome-terminal: /usr/bin/python3: bad
interpreter: No such file or directory
Надеюсь, что решение одного решает другое ..
Гм, попробуйте "путь окон"
sudo apt install --reinstall python3-commandnotfound command-not-found
Ну, я закончил тем, что переустановил Ubuntu: неважно, сколько решений я нашел, проблемы порождения были слишком разнообразны, даже если все напомнили факт так или иначе питания с версией значения по умолчанию Python.
я предполагаю, что Python действительно что-то, что необходимо быть дополнительно-осторожными при обработке с Ubuntu. Урок научился на горьком опыте.
Используйте альтернативы обновления для откладывания версии Python по умолчанию к тому, каково это было. Я также запускаю Ubuntu 18.04, которая моя версия Python 2.7.15
$ python --version
Python 2.7.15+
Затем, я рекомендовал бы изучить установку виртуальных сред Python с помощью venv
(venv в python3 и virtualenv для python2) для того, чтобы протестировать или запустить программы, которые требуют python 3.
Первый, удостоверьтесь, что Вы имеете зернышко, установленное путем выполнения sudo apt install python3-pip
, или удостоверяетесь, что это актуально путем выполнения python3 -m pip install --user --upgrade pip
.
Затем установка venv путем выполнения python3 -m pip install --user virtualenv
я очень не хочу связать Вас с внешней веб-страницей, но существуют четкие указания в выполнении этого на веб-сайте python.org. Можно найти ссылку на сайт в здесь