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
Настоящий ответ - убедиться, что вы снова используете поддерживаемую версию 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