Yum разбился с ошибкой прерывания клавиатуры
Я установил более новую версию python (3.2.3), чем в Fedora16 (python2.7)
И теперь yum
перестает работать. Это показывает следующую ошибку.
[[email protected] yum-3.4.3]# yum
File "/usr/bin/yum", line 30
except KeyboardInterrupt, e:
^
SyntaxError: invalid syntax
Посоветуйте, пожалуйста, как устранить ошибку. Это было бы полезно, так как я не могу обновить или установить какой-либо пакет.
Ответы
Ответ 1
Потому что yum
не поддерживает Python3
.
Вы можете запустить команду vi /usr/bin/yum
, изменить /usr/bin/python
на /usr/bin/python2
в первой строке.
Таким образом, вы можете запустить команду yum
с помощью Python2
вместо Python3
.
Обратите внимание, что это сделает вашу настройку неподдерживаемой и, следовательно, не поддерживаемой (как и то, что вы сделали). Вероятно, в будущем у вас будут другие подобные проблемы с другими системными пакетами.
Если вы хотите использовать альтернативную установку Python, рассмотрите возможность установки ее в /usr/local
, /opt
или с помощью pyenv
.
Ответ 2
Я предполагаю, что вы установили Python 3.2.3 из источника и использовали "make install" в качестве последней команды. Эта команда имеет неудачный побочный эффект замены установленной версии команды "python" новой версией. Использование "make altinstall" не заменяет "python".
Команда "python" - это просто символическая ссылка на "python2", которая, в свою очередь, является символической ссылкой на "python2.7". Вы должны восстановить "python", выполнив следующую команду:
cd /usr/bin
sudo ln -s python2 python
Ответ 3
Эта проблема возникает, когда пользователь обновляется до python3. Просто отредактируйте файл → /usr/bin/yum и перейдите в первую строку в → "#!/usr/bin/python2"
Вышеупомянутое решение не решило бы все проблемы зависимости yum, тем лучше выполнить приведенные ниже команды.
sudo ln -s/usr/local/bin/python3/usr/bin/python3 (отметьте последний python как python3)
sudo ln -sf/usr/bin/python2.7/usr/bin/python (nake 2.7 по умолчанию python)
благодарив,
Даман
Ответ 4
Спасибо, Даманвир! Изменение строки в /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: удалить символическую ссылку link python? у
Найти местоположение новой версии
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:
SyntaxError: invalid syntax
Измените верхнюю строку этого файла с использования python на python2
vi /usr/bin/yum
#!/usr/bin/python2
Ссылка: https://tecadmin.net/install-python-3-7-on-centos/
Ответ 5
Damanvir, как я могу отредактировать и сохранить файл из консоли?