web-dev-qa-db-fra.com

Yum ne fonctionne pas?

J'ai par défaut python 2.7 et j'essaie d'installer python3.3 et d'installer pip3 et Django.now quand j'essaie d'installer d'autres en utilisant yum j'ai cette erreur. Pour un exemple de mise à jour yum

Un problème est survenu lors de l'importation de l'un des modules Python requis pour exécuter yum. L'erreur menant à ce problème était: Aucun module nommé yum Veuillez installer un package qui fournit ce module, ou vérifiez que le module est installé correctement. Il est possible que le module ci-dessus ne corresponde pas à la version actuelle de Python, qui est: 2.7.5 (par défaut, 12 novembre 2013, 16:18:42) [GCC 4.8.2 20131017 (Red Hat 4.8. 2-1)] Si vous ne pouvez pas résoudre ce problème vous-même, veuillez consulter la FAQ yum à: http://yum.baseurl.org/wiki/Faq

Comment puis-je corriger cette erreur?

13
Nuwan Indika

Il y a probablement de nombreuses versions python sur votre système et une seule d'entre elles a la bibliothèque yum installée. Pour une raison quelconque, le binaire python appelé lorsque vous exécutez yum sur la ligne de commande n'est pas celui sur lequel la bibliothèque yum est installée.

Trouvez la liste des binaires python 2 disponibles sur votre système. Exécutez en tant que root:

find / -type f -executable -name 'python2*'

La sortie ressemblera probablement à ça:

/usr/bin/python2.6
/usr/bin/python2.7
...

etc...

Pour chacun d'eux, exécutez

/usr/bin/python2.x

Vous obtiendrez un python Prompt. Run:

>>> import yum

Faites cela pour chaque python binaire jusqu'à ce que vous en trouviez un qui ne déclenche pas une ImportError à cette étape.

Découvrez ensuite quel est le chemin que yum utilise pour exécuter python. Ceci est la première ligne du script yum. Courir

cat `which yum` | head -1

Vous obtiendrez probablement:

#!/usr/bin/python

Maintenant, exécutez en tant que root:

ln -s /usr/bin/python2.x /usr/bin/python 

(remplacez python2.x par la bonne python que vous avez trouvée plus tôt).

13

J'ai le même problème.

Yum a été écrit en Python lang.

Ainsi, lorsque vous mettez à niveau votre version par défaut Python vers une nouvelle version, cela posera problème pour yum. Si vous obtenez python --version il vous dira 3.3.

Pour résoudre ce problème, remplacez la commande python par python2.7.

Vérifiez d'abord:

user@Host:~$ ls -l /usr/bin/python
lrwxrwxrwx 1 root root 9 Sep 28  2013 /usr/bin/python -> python3.3

Essayez-le:

mv /usr/bin/python /usr/bin/python-Origin
ln -s python2.7 /usr/bin/python

Vérifiez ensuite:

user@Host:~$ ls -l /usr/bin/python
lrwxrwxrwx 1 root root 9 Sep 28  2013 /usr/bin/python -> python2.7

Si vous souhaitez installer python3 dans CentOS, vous devez l'installer via le code source.

download main source code via python.org website.
extract archive file.
./configure
make
make install
2
mortezaipo