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.
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
.
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
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
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
rm python
SORTIE: rm: supprimer le lien symbolique ‘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
SORTIE: Python 3.7.0
File "/bin/yum", line 30
except KeyboardInterrupt, e:
SyntaxError: invalid syntax
vi /usr/bin/yum
#!/usr/bin/python2
Référence: https://tecadmin.net/install-python-3-7-on-centos/