#1 Le 26/10/2018, à 21:08
- Bee
Mise à niveau impossible : lien symbolique cassé Python [résolu]
Bonjour à tous,
En tentant une migration vers la mise à jour 18.04 LTS, le message :
Mise à niveau impossible
Votre installation de Python est endommagée. Veuillez réparer le lien
symbolique « /usr/bin/python ».
J'ai donc cherché ici et ailleurs pour résoudre ma difficulté et j'ai suivi les conseils de cette page :
https://forum.ubuntu-fr.org/viewtopic.php?id=899101https://forum.ubuntu-fr.org/viewtopic.php?id=899101
Malheureusement, ceci n'a pas résolu mon problème et je suis toujours dans l'impossibilité de mettre à niveau mon système
Je suis sur Ubuntu depuis quelques années mais je n'ai jamais posté sur ce forum.
Je ne programme que très peu et j'utilise mon PC pour des besoins bureautique. (Latex, Texstudio, html, css,..) J'ai bien sûr essayé de trouver une solution dans d'autres topics mais rien n'y fait. J'espère avoir correctement composé mon message afin de pouvoir bénéficier de vos compétences. Je reste connecté pour d'éventuels complément d'info.
Très cordialement.
Dernière modification par Bee (Le 26/10/2018, à 22:53)
Aspire 3 A315-58-38MU ; Intel Core i3-1115G4 ;
3.0 Ghz ; Turbo 4.1 Ghz ; 2 coeurs 4 threads ; DDR 4 : 8 Go
Disque SSD 512 Go ; Wifi Multi-User MIMO et Wi-Fi 5 802.11 ac
Ubuntu 20.04.6 LTS
Hors ligne
#2 Le 26/10/2018, à 21:14
- pingouinux
Re : Mise à niveau impossible : lien symbolique cassé Python [résolu]
Bonsoir,
Tu peux déjà donner le retour de :
type python python3
et
ls -ld /usr/bin/python*
Hors ligne
#3 Le 26/10/2018, à 21:24
- Bee
Re : Mise à niveau impossible : lien symbolique cassé Python [résolu]
Merci de ta réponse,
Voici les deux retours :
$ type python python3
python est un alias vers « /usr/bin/python3.6 »
python3 est /usr/bin/python3
$ ls -ld /usr/bin/python*
lrwxrwxrwx 1 root root 24 oct. 26 20:49 /usr/bin/python -> /etc/alternatives/python
lrwxrwxrwx 1 root root 9 nov. 24 2017 /usr/bin/python2 -> python2.7
-rwxr-xr-x 1 root root 3492656 déc. 4 2017 /usr/bin/python2.7
lrwxrwxrwx 1 root root 33 déc. 4 2017 /usr/bin/python2.7-config -> x86_64-linux-gnu-python2.7-config
lrwxrwxrwx 1 root root 16 nov. 24 2017 /usr/bin/python2-config -> python2.7-config
lrwxrwxrwx 1 root root 9 mars 23 2016 /usr/bin/python3 -> python3.5
-rwxr-xr-x 2 root root 4464400 nov. 28 2017 /usr/bin/python3.5
-rwxr-xr-x 2 root root 4464400 nov. 28 2017 /usr/bin/python3.5m
-rwxr-xr-x 2 root root 4604416 oct. 26 01:03 /usr/bin/python3.6
-rwxr-xr-x 2 root root 4604416 oct. 26 01:03 /usr/bin/python3.6m
lrwxrwxrwx 1 root root 10 mars 23 2016 /usr/bin/python3m -> python3.5m
lrwxrwxrwx 1 root root 16 nov. 24 2017 /usr/bin/python-config -> python2.7-config
lrwxrwxrwx 1 root root 58 mars 25 2016 /usr/bin/pythontex -> ../share/texlive/texmf-dist/scripts/pythontex/pythontex.py
-rwxr-xr-x 1 root root 306 mars 25 2016 /usr/bin/pythontex3
De ce qu'il me semble, Python 2.7 et Python 3.6 peuvent cohabiter. Mais j'ai du faire un truc de pas terrible dans l'installation qui a du détériorer qqchose.
Merci beaucoup.
Aspire 3 A315-58-38MU ; Intel Core i3-1115G4 ;
3.0 Ghz ; Turbo 4.1 Ghz ; 2 coeurs 4 threads ; DDR 4 : 8 Go
Disque SSD 512 Go ; Wifi Multi-User MIMO et Wi-Fi 5 802.11 ac
Ubuntu 20.04.6 LTS
Hors ligne
#4 Le 26/10/2018, à 21:35
- pingouinux
Re : Mise à niveau impossible : lien symbolique cassé Python [résolu]
Est-ce toi qui a défini cet alias ?
python est un alias vers « /usr/bin/python3.6 »
Si oui, l'erreur vient sans doute de là.
Donne aussi le retour de
ls -ld /etc/alternatives/python*
Hors ligne
#5 Le 26/10/2018, à 21:41
- Bee
Re : Mise à niveau impossible : lien symbolique cassé Python [résolu]
Il me semble ne jamais avoir défini un alias, ou alors en suivant un tuto sans vraiment comprendre ce que je faisais (oui, pardon, c'est mal... mais dans la précipitation !).
Concernant le retour de commande :
$ ls -ld /etc/alternatives/python*
lrwxrwxrwx 1 root root 18 oct. 26 20:49 /etc/alternatives/python -> /usr/bin/python3.6
Aspire 3 A315-58-38MU ; Intel Core i3-1115G4 ;
3.0 Ghz ; Turbo 4.1 Ghz ; 2 coeurs 4 threads ; DDR 4 : 8 Go
Disque SSD 512 Go ; Wifi Multi-User MIMO et Wi-Fi 5 802.11 ac
Ubuntu 20.04.6 LTS
Hors ligne
#6 Le 26/10/2018, à 21:45
- Bee
Re : Mise à niveau impossible : lien symbolique cassé Python [résolu]
En essayant de comprendre a posteriori, j'ai du casser le lien symbolique que le système utilise avec python2.7 pour l'utiliser avec python3.6. Sauf que maintenant, les scripts python ne peuvent plus s'exécuter en version 3.6 ??
Aspire 3 A315-58-38MU ; Intel Core i3-1115G4 ;
3.0 Ghz ; Turbo 4.1 Ghz ; 2 coeurs 4 threads ; DDR 4 : 8 Go
Disque SSD 512 Go ; Wifi Multi-User MIMO et Wi-Fi 5 802.11 ac
Ubuntu 20.04.6 LTS
Hors ligne
#7 Le 26/10/2018, à 21:52
- pingouinux
Re : Mise à niveau impossible : lien symbolique cassé Python [résolu]
Ce qui m'étonne, c'est que python est un alias vers /usr/bin/python3.6.
Si ce n'en était pas un, il pointerait cependant vers le même fichier :
/usr/bin/python -> /etc/alternatives/python -> /usr/bin/python3.6
À tout hasard, quel est le retour de
echo $PATH
Chez moi, en 16.04, python pointe vers python2.7.
Hors ligne
#8 Le 26/10/2018, à 21:57
- Bee
Re : Mise à niveau impossible : lien symbolique cassé Python [résolu]
Voici, mais comme on touche un peu mes limites de compréhension sur linux, la commande que tu me demandes, je l'ai rencontré à maintes reprises, et je n'ai toujours pas compris à quoi elle sert !
$ echo $PATH
/home/julienb/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
J'espère ne pas trop compliquer ta tâche et te remercie d'avance.
Aspire 3 A315-58-38MU ; Intel Core i3-1115G4 ;
3.0 Ghz ; Turbo 4.1 Ghz ; 2 coeurs 4 threads ; DDR 4 : 8 Go
Disque SSD 512 Go ; Wifi Multi-User MIMO et Wi-Fi 5 802.11 ac
Ubuntu 20.04.6 LTS
Hors ligne
#9 Le 26/10/2018, à 21:59
- Bee
Re : Mise à niveau impossible : lien symbolique cassé Python [résolu]
Je suis resté en 16.04 également mais ma version est donnée par :
$ python --version
Python 3.6.7
Aspire 3 A315-58-38MU ; Intel Core i3-1115G4 ;
3.0 Ghz ; Turbo 4.1 Ghz ; 2 coeurs 4 threads ; DDR 4 : 8 Go
Disque SSD 512 Go ; Wifi Multi-User MIMO et Wi-Fi 5 802.11 ac
Ubuntu 20.04.6 LTS
Hors ligne
#10 Le 26/10/2018, à 22:07
- Bee
Re : Mise à niveau impossible : lien symbolique cassé Python [résolu]
Bon, j'ai regardé dans le ./bashrc (il va falloir que je comprenne un jour ce que c'est !) et j'ai :
# add new alias to change your default python executable:
alias python='/usr/bin/python3.6'
Je pense que le problème vient de là comme tu le suggère dans ton premier post.
Que dois-je faire :
1°) supprimer la ligne
2°) remplace par python2.7
??
Merci de votre aide.
Aspire 3 A315-58-38MU ; Intel Core i3-1115G4 ;
3.0 Ghz ; Turbo 4.1 Ghz ; 2 coeurs 4 threads ; DDR 4 : 8 Go
Disque SSD 512 Go ; Wifi Multi-User MIMO et Wi-Fi 5 802.11 ac
Ubuntu 20.04.6 LTS
Hors ligne
#11 Le 26/10/2018, à 22:21
- pingouinux
Re : Mise à niveau impossible : lien symbolique cassé Python [résolu]
...et je n'ai toujours pas compris à quoi elle sert !
$PATH contient la liste des répertoires dans lesquels on va chercher les commandes (on s'arrête au premier qui contient la commande). Cette liste est correcte.
Tu peux déjà faire un essai avec cette commande :
alias python=/usr/bin/python2.7
Hors ligne
#12 Le 26/10/2018, à 22:33
- pingouinux
Re : Mise à niveau impossible : lien symbolique cassé Python [résolu]
Ensuite, pour remettre les choses en état, après avoir supprimé l'alias :
cd /usr/bin
sudo rm python
sudo ln -s python2.7 python
Hors ligne
#13 Le 26/10/2018, à 22:49
- Bee
Re : Mise à niveau impossible : lien symbolique cassé Python [résolu]
Merci beaucoup, cela marche pile poil !
Je passe le sujet en résolu.
Aspire 3 A315-58-38MU ; Intel Core i3-1115G4 ;
3.0 Ghz ; Turbo 4.1 Ghz ; 2 coeurs 4 threads ; DDR 4 : 8 Go
Disque SSD 512 Go ; Wifi Multi-User MIMO et Wi-Fi 5 802.11 ac
Ubuntu 20.04.6 LTS
Hors ligne
#14 Le 26/10/2018, à 22:53
- pingouinux
Re : Mise à niveau impossible : lien symbolique cassé Python [résolu]
echo est à la fois une commande interne au shell, et une commande située dans /bin (répertoire du PATH).
$ type echo
echo is a shell builtin
$ which echo
/bin/echo
Hors ligne