Yum разбился с ошибкой прерывания клавиатуры

Я установил более новую версию python (3.2.3), чем в Fedora16 (python2.7)

И сейчас yum перестает работать Это показывает следующую ошибку.

[root@localhost yum-3.4.3]# yum
  File "/usr/bin/yum", line 30
   except KeyboardInterrupt, e:
                        ^

Пожалуйста, совет, как решить эту ошибку. Это было бы полезно, так как я не могу обновить или установить какой-либо пакет.

7 ответов

Так как yum доза не поддерживает Python3, Вы можете запустить команду vi /usr/bin/yum, менять /usr/bin/python в /usr/bin/python2 в первой строке. Таким образом, вы можете запустить команду yum от Python2 вместо Python3,

Эта проблема возникает, когда пользователь обновляется до python3. Просто отредактируйте файл -> /usr/bin/yum и перейдите в первую строку на -> "#!/ Usr/bin/python2"

Приведенное выше решение не решит всех проблем с зависимостями yum, лучше запустить приведенные ниже команды.

sudo ln -s / usr / local / bin / python3 / usr / bin / python3 (пометить последний питон как python3)

sudo ln -sf /usr/bin/python2.7 / usr / bin / python (nake 2.7 как python по умолчанию)

Спасибо, Даман

Я предполагаю, что вы установили Python 3.2.3 из исходного кода и использовали "make install" в качестве последней команды. Эта команда имеет неприятный побочный эффект - замените установленную системой команду "python" новой версией. Использование "make altinstall" не заменяет "python".

Команда "python" - это просто символическая ссылка на "python2", которая, в свою очередь, является символической ссылкой на "python2.7". Вы сможете восстановить "python", выполнив следующую команду:

cd /usr/bin
sudo ln -s python2 python

Спасибо, Даманвир! Изменение строки в / usr / bin / yum сработало!

Это немного не по теме и может быть удалено, но это может кому-то помочь.

Это шаги, которые я использовал для установки Python 3.7 на Centos и исправления ошибки yum.

Скачать с https://www.python.org/

tar -xvf
./configure --enable-optimizations

make
make install

ИЛИ ЖЕ

make altinstall

make altinstall используется для предотвращения замены двоичного файла Python по умолчанию / usr / bin / python.

cd /usr/bin

Удалить текущую символическую ссылку на предыдущую версию

rm python

ВЫХОД: rm: удалить символическую ссылку 'python'? Y

Найти местоположение новой версии

whereis python3.7
 OUTPUT: python3: /usr/local/bin/python3.7

Убедитесь, что это правильно

  /usr/local/bin/python3.7 --version
  OUTPUT: Python 3.7.0

Создать символическую ссылку на местоположение новой версии

ln -s /usr/local/bin/python3.7 python

python --version

ВЫХОД: Python 3.7.0

Команды Yum покажут следующую ошибку:

  File "/bin/yum", line 30
      except KeyboardInterrupt, e:

Измените верхнюю строку этого файла с использования python на python2

  vi /usr/bin/yum 
    #!/usr/bin/python2

Ссылка: https://tecadmin.net/install-python-3-7-on-centos/

Настоящий ответ - убедиться, что вы снова используете поддерживаемую версию python (в случае, если вы смотрите на нее из-за проблемы с RHEL 7).

cd /usr/bin
sudo unlink python
sudo ln -s python2 python

Ваш yum ищет python2. Давайте использовать «альтернативы» для переключения между pythons2 и python3 .

  • запустить -> альтернативы sudo --config python
  • Введите, чтобы сохранить текущий выбор [+], или введите номер выбора:

Если вы его не настроите. Как это сделать?

  • альтернативы sudo --install / usr / bin / python python /usr/local/bin/python3.8 60

  • альтернативы sudo --install / usr / bin / python python / usr / bin / python2 50

Это только проблема с двоичной связью. Вы можете скопировать работу из любой системы и скопировать в текущее место в системе. /usr/bin/python2

      #cd /usr/bin

#ln -s python2 python
Другие вопросы по тегам