web-dev-qa-db-fra.com

Yum planté avec une erreur d'interruption du clavier

J'ai installé la version plus récente de python (3.2.3) que celle disponible dans Fedora16 (python2.7)

Et maintenant, yum cesse de fonctionner. Il montre l'erreur suivante.

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

S'il vous plaît des conseils sur la façon de résoudre l'erreur. Ce serait utile car je ne suis pas en mesure de mettre à jour ou d'installer un package.

33
SSAMEERR

Parce que yum ne prend pas en charge Python3. Vous pouvez exécuter la commande vi /usr/bin/yum, Remplacez /usr/bin/python Par /usr/bin/python2 En première ligne. Vous pouvez exécuter la commande yum par Python2 Au lieu de Python3.

40
peakmuma

Je suppose que vous avez installé Python 3.2.3 à partir de la source et utilisé "make install" comme dernière commande. Cette commande a le malheureux effet secondaire de remplacer la commande de version installée du système "python" avec la nouvelle version. Utiliser "make altinstall" ne remplace pas "python".

La commande "python" n'est qu'un lien symbolique vers "python2", qui à son tour est un lien symbolique vers "python2.7". Vous devriez pouvoir restaurer "python" en exécutant la commande suivante:

cd /usr/bin
Sudo ln -s python2 python
14
casevh

Ce problème se produit lorsque l'utilisateur effectue une mise à niveau vers python3, modifiez simplement le fichier ->/usr/bin/yum et passez à la première ligne -> "#!/Usr/bin/python2"

La solution ci-dessus ne résoudrait pas tous les problèmes de dépendance yum, il est préférable d'exécuter les commandes ci-dessous.

Sudo ln -s/usr/local/bin/python3/usr/bin/python3 (Marquer le dernier python comme python3)

Sudo ln -sf /usr/bin/python2.7/usr/bin/python (nake 2.7 comme python par défaut)

THanks, Daman

13
Damanvir Singh

Merci Damanvir! Changer la ligne dans/usr/bin/yum a fonctionné!

Ceci est un peu hors sujet et pourrait être supprimé mais cela pourrait aider quelqu'un.

Ce sont les étapes que j'ai utilisées pour installer Python 3.7 sur Centos et corriger l'erreur yum.

Télécharger depuis https://www.python.org/

tar -xvf
./configure --enable-optimizations

make
make install

OR

make altinstall

make altinstall est utilisé pour empêcher le remplacement du fichier binaire python binaire /usr/bin/python.

cd /usr/bin

Supprimer le lien symbolique actuel vers la version précédente

rm python

SORTIE: rm: supprimer le lien symbolique ‘python’? y

Trouver l'emplacement de la nouvelle version

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

Vérifiez que c'est correct

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

Créer un lien symbolique vers l'emplacement de la nouvelle version

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

python --version

SORTIE: Python 3.7.0

Les commandes Yum afficheront l'erreur suivante:

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

  SyntaxError: invalid syntax

Modifiez la ligne supérieure de ce fichier en utilisant python en python2

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

Référence: https://tecadmin.net/install-python-3-7-on-centos/

5
Code_Help