До сих пор ответ Ури Эрреры (оставленный в комментарии к моему вопросу) работает на меня.
Примечание к модам: я ранее разместил этот ответ, но он был удален как не ответ, и нет способа обсудить это удаление. Я переписываю его, потому что это лучший ответ. Мод сказал, что это действительно комментарий, а не ответ, но он ошибается. Ури отправил свой ответ в комментарии; таким образом, я не могу это принять. Итак, я отправил ссылку в качестве ответа и ждал истечения тайм-аута, чтобы я мог его принять. (Почему я должен ждать 24 часа, прежде чем принимать свой собственный ответ?) Поскольку я не могу передать ответ Ури из комментария к ответу, нет другого пути, чем то, что я сделал.
/etc/bash.bashrc определяет функцию command_not_found_handle, которая вызывает /usr/lib/command-not-found, которая является скриптом Python 3. Этот обработчик вызывается для команд, которые Bash не может найти.
Итак, как исправление повязки, вы можете отключить обработчик:
unset -f command_not_found_handle
После некоторого обсуждения с OP выясняется, что проблема вызвана выполнением исполняемого файла Python 2.7, случайно помещенного в /usr/bin/python3.4. (Так что мое первое обновление было не очень полезно, но в редакции 4, если вы хотите его прочитать). Если это произойдет с вами, не перезагружайте компьютер! Некоторые части графического интерфейса зависят от Python 3. Вам, вероятно, потребуется также открыть терминал.
Кстати, это объясняет бесконечный цикл при вызове неизвестной команды в приглашении Bash. /usr/lib/command-not-found имеет этот раздел в нем:
if sys.version < '3':
# We might end up being executed with Python 2 due to an old
# /etc/bash.bashrc.
import os
if "COMMAND_NOT_FOUND_FORCE_PYTHON2" not in os.environ:
os.execvp("python3", [sys.argv[0]] + sys.argv)
Это означает, что когда он запускается Python 2, он вызывает python3, но поскольку python3 на самом деле является Python 2, процесс повторяется. [ ! d7]
OP закончил переустановку Ubuntu, но мне было любопытно, поэтому я открыл виртуальную машину, вызвал аналогичную проблему (если не та же проблема) и исправил ее.
Вызвал проблемуsudo cp /usr/bin/python2.7 /usr/bin/python3.4
Подтвердил проблему Ran python3 --version, got Python 2.7.6 Пробовал sdf, пришлось нажать Ctrl + C, чтобы остановить цикл Исправлено: sudo apt-get install --reinstall python3.4-minimal
Пакет python3.4-minimal предоставляет сам исполняемый файл Python 3.4. Все остальные пакеты, которые я проверил (python3, python3.4, python3-minimal), зависят от python3.4-minimal по этой причине. (OP и я наткнулись на это решение в первый раз. Для получения дополнительной информации о том, что я пробовал, что еще я испортил, и как я его исправил, прочитайте версию 4 .)
/etc/bash.bashrc определяет функцию command_not_found_handle, который называет /usr/lib/command-not-found, который является в Python 3 сценария. Этот обработчик вызывается для команды, Баш не могу найти.
так как исправить бандаж, можно сбросить обработчик:
unset -f command_not_found_handle
после некоторого обсуждения с ОП, оказывается проблема вызвана Питон 2.7 исполняемый случайно помещены в /usr/Бен/питон3.4. (Так что мое первое обновление было не очень полезно, но это в версии 4, Если вы хотите, чтобы прочитать его). Если это случится с вами, не перезагружайте компьютер! Некоторые части графического интерфейса зависит от языка Python 3. Вы, вероятно, нужно держать терминал открытым.
кстати, это и объясняет бесконечный цикл при вызове неизвестной команды в командной строке. /usr/lib/command-not-found этот раздел в нем:
if sys.version < '3':
# We might end up being executed with Python 2 due to an old
# /etc/bash.bashrc.
import os
if "COMMAND_NOT_FOUND_FORCE_PYTHON2" not in os.environ:
os.execvp("python3", [sys.argv[0]] + sys.argv)
, что означает, когда он запускается на выполнение с помощью Python 2, это звонки на [F9], но с python3 на самом деле в Python 2, процесс повторяется.
ОП закончилось переустановкой Ubuntu, но мне было любопытно и я открыл ВМ, вызвало подобный вопрос (если не тот же вопрос), и починил его.
вызвало проблемуsudo cp /usr/bin/python2.7 /usr/bin/python3.4
подтвержден проблема побежал на [F11], получил Python 2.7.6 работает [от f13], пришлось нажать Ctrl+C, чтобы остановить цикл, исправил: sudo apt-get install --reinstall python3.4-minimal
пакет python3.4-minimal предоставляет Python 3.4 в сам исполняемый. Все остальные пакеты я проверил (python3, python3.4, [f17 в]) зависят от python3.4-minimal по этой причине. (ОП и я споткнулся через это решение в первый раз вокруг. Для получения более подробной информации о том, что я пытался, что то я напутал, и как я ее исправил, читать редакция 4.)
/etc/bash.bashrc определяет функцию command_not_found_handle, которая вызывает /usr/lib/command-not-found, которая является скриптом Python 3. Этот обработчик вызывается для команд, которые Bash не может найти.
Итак, как исправление повязки, вы можете отключить обработчик:
unset -f command_not_found_handle
После некоторого обсуждения с OP выясняется, что проблема вызвана выполнением исполняемого файла Python 2.7, случайно помещенного в /usr/bin/python3.4. (Так что мое первое обновление было не очень полезно, но в редакции 4, если вы хотите его прочитать). Если это произойдет с вами, не перезагружайте компьютер! Некоторые части графического интерфейса зависят от Python 3. Вам, вероятно, потребуется также открыть терминал.
Кстати, это объясняет бесконечный цикл при вызове неизвестной команды в приглашении Bash. /usr/lib/command-not-found имеет этот раздел в нем:
if sys.version < '3':
# We might end up being executed with Python 2 due to an old
# /etc/bash.bashrc.
import os
if "COMMAND_NOT_FOUND_FORCE_PYTHON2" not in os.environ:
os.execvp("python3", [sys.argv[0]] + sys.argv)
Это означает, что когда он запускается Python 2, он вызывает python3, но поскольку python3 на самом деле является Python 2, процесс повторяется. [ ! d7]
OP закончил переустановку Ubuntu, но мне было любопытно, поэтому я открыл виртуальную машину, вызвал аналогичную проблему (если не та же проблема) и исправил ее.
Вызвал проблемуsudo cp /usr/bin/python2.7 /usr/bin/python3.4
Подтвердил проблему Ran python3 --version, got Python 2.7.6 Пробовал sdf, пришлось нажать Ctrl + C, чтобы остановить цикл Исправлено: sudo apt-get install --reinstall python3.4-minimal
Пакет python3.4-minimal предоставляет сам исполняемый файл Python 3.4. Все остальные пакеты, которые я проверил (python3, python3.4, python3-minimal), зависят от python3.4-minimal по этой причине. (OP и я наткнулись на это решение в первый раз. Для получения дополнительной информации о том, что я пробовал, что еще я испортил, и как я его исправил, прочитайте версию 4 .)