web-dev-qa-db-fra.com

Comment réparer "l'installation de python est corrompue"?

J'étais en train de passer de 13.10 à 14.04 (dev pour l'instant, stable en quelques heures) en utilisant do-release-upgrade et j'ai rencontré le problème suivant:

Can not upgrade 

Your python install is corrupted. Please fix the '/usr/bin/python' symlink.

J'ai résolu le problème après avoir déconné un peu, alors j'aimerais partager ma solution ici. J'espère que cela pourrait aider quelqu'un.

34
4ae1e1

Mon problème s’est avéré uniquement dû à un lien symbolique modifié /usr/bin/python comme suggéré dans le message d’erreur. J'utilisais update-alternatives avec /usr/bin/python alors il pointait vers /etc/alternatives/python. Il s'est avéré que do-release-upgrade est vraiment strict avec ce lien symbolique et sélectionner simplement python2.7 avec update-alternatives ne suffit pas, alors j'ai fini par le forcer à son état d'origine:

Sudo ln -sf /usr/bin/python2.7 /usr/bin/python

Et cela a résolu le problème.

Si cela ne fonctionne pas pour vous, alors je suppose que votre installation de python est véritablement corrompue. Je suggère

Sudo apt-get install --reinstall python
52
4ae1e1

celui-ci est correct:

Sudo update-alternatives --remove-all python
Sudo ln -sf /usr/bin/python2.7 /usr/bin/python
14
Vitaliy Kulikov

Dans Ubuntu 18.10, le même problème se pose.

Le répertoire/usr/bin/python est lié à une version antérieure. Même plus tard que 2.7 sont disponibles, mais ce processus super intelligent demande (dans 18.10!) P 2.7. Alors je l'ai donné et il a été accepté.

Cela l'a résolu pour moi:

1) supprimez/usr/bin/python en faisant Sudo rm /usr/bin/python

2) Créer un nouveau lien Sudo ln -sf /usr/bin/python2.7 /usr/bin/python

En 18.10, je ne pouvais PAS utiliser Sudo update-alternatives --remove-all python ou Sudo apt-get install --reinstall python.

Travaille pour moi. J'espère que cela vous aidera aussi.

3
opinion_no9

Si vous rencontrez ceci concernant /usr/bin/python3, alors:

Sudo update-alternatives --remove-all python3
Sudo ln -sf /usr/bin/python3.6 /usr/bin/python3

Assurez-vous de faire un lien symbolique python3.6 et non pas 3.7. Au moins, cela était nécessaire lors de la mise à niveau de Ubuntu 18.10 vers 19.04.

0
Jana