J'ai installé Python 2.7.9 dans /usr/local/bin
. Maintenant ça ne marche plus. J'ai un autre Python dans /usr/bin/
mais le chemin est d'abord /usr/local/bin/
. Comment puis-je retirer le 2.7.9 Python?
DISCLAIMER: Depuis, j'ai beaucoup appris et je recommanderais de définir des variables d'environnement pour une session Shell ou une session Shell plutôt que d'utiliser cette réponse. Par exemple, si vous reliez manuellement l'interpréteur Python2 du système à un interprète Python3, vous risquez de provoquer des dégâts sur votre système. S'il vous plaît utiliser cette réponse avec prudence.
Il suffit de réinitialiser le lien symbolique.
D'abord, trouvez quel python:
$ which python
Dans mon cas, je reçois:
/usr/local/bin/python
Puis trouvez où le lien symbolique pointe vers
$ file /usr/local/bin/python
/usr/local/bin/python: symbolic link to `/usr/bin/python'
Ensuite, reconnectez le lien symbolique à la valeur par défaut (dans ce cas, j’utilise la valeur par défaut:/usr/bin/python).
Aucune désinstallation nécessaire.
Depuis, j’ai trouvé de nombreux moyens plus efficaces d’appliquer le même comportement, sans que cela ait des effets sur l’ensemble du système.
Supposons que je possède une installation python
non désirée dans /usr/bin
et une installation désirée python
dans /opt/bin
. Supposons pour le point de comparaison que /usr/bin
est Python 3.5 et que /opt/bin
est Python 2.7. Cela aurait des conséquences immédiates si vous utilisiez le mauvais interpréteur Python, plutôt que des erreurs subtiles dans la suite.
Application par défaut
Si vous souhaitez (sur les systèmes Linux) changer quel interpéter exécute les scripts Python, vous pouvez le changer soit via une interface graphique, soit via xdg-mime (une procédure peut être trouvée ici ). Pour macOS ou Windows, cela peut être fait facilement via une interface graphique.
Shell interactif
Si vous souhaitez modifier le code Python par défaut pour un shell spécifique, vous pouvez le faire de deux manières. Une solution consisterait à modifier la recherche par défaut PATH
en définissant /opt/bin
avant usr/bin
pour une situation spécifique. Toutefois, si vous disposez de nombreuses installations alternatives aux packages système, cela pourrait également poser problème. Une autre solution consisterait à définir un alias pour Python avec la version que vous souhaitez utiliser. Cette solution est recommandée car elle ne fait que modifier l’interpréteur et n’est qu’un raccourci pour référencer une commande existante.
Par exemple, pour définir l'alias, je pourrais utiliser:
alias python="/opt/bin/python"
Et pour changer le chemin par défaut, je pourrais utiliser:
export PATH=/opt/bin:$PATH
En ajoutant ces lignes à ~/.bashrc
ou ~/.bash_aliases
(ce dernier est réservé à Ubuntu par défaut), ces raccourcis seront les raccourcis par défaut de tout shell interactif que vous démarrez. La combinaison des valeurs par défaut de l'application et des scripts Shell interactifs vous permet de contrôler de manière précise l'interpréteur qui exécute votre code, sans qu'il soit nécessaire d'interférer avec des fichiers système potentiellement cruciaux.
Votre question manque de détails, le plus pertinent étant de savoir comment vous avez réellement installé Python dans /usr/local/bin
. La méthode d'installation indiquerait comment supprimer les fichiers installés.
Le moyen le plus courant d’installer des packages dans la hiérarchie des répertoires /usr/local
consiste à compiler à partir de la source et à exécuter Sudo make install
après la compilation et l’établissement de liens. Si vous n'avez pas déjà supprimé le répertoire source d'origine (non compressé), vous pouvez le modifier et supprimer le package Python compilé en exécutant:
Sudo make uninstall
Si le code source a été supprimé, vous pouvez essayer de télécharger à nouveau la source.
S'il n'y a pas de cible uninstall
pour make
(malheureusement, plus courante que vous ne le pensez), une autre option (inélégante) consiste à utiliser la commande find
pour rechercher tous les fichiers de l'arborescence de répertoires /usr/local
ayant le même temps de modification que les autres fichiers de l'application que vous voulez supprimer.
Ces jours-ci, je recommanderais d'installer l'outil checkinstall
. Au lieu d’exécuter make install
, cela peut être utilisé pour créer un paquet RPM ou Debian qui peut ensuite être installé (et désinstallé) à l’aide des outils d’installation logicielle standard du système.
Votre variable d'environnement PATH. Il contient une liste de répertoires que bash cherche (dans le même ordre) quand il cherche un programme à exécuter. En gros, vous voulez mettre/usr/local/bin au début de votre variable d’environnement PATH. Ajoutez les éléments suivants à votre fichier ~/.bashrc:
export PATH=/usr/local/bin:$PATH
Vous pouvez consulter le paramètre actuel en exécutant la commande set dans bash.
Sinon, vous pouvez simplement renommer/usr/bin/python en /usr/bin/python2.3 et créer un lien symbolique pointant vers la nouvelle version, par exemple.
ln -s /usr/local/bin/python /usr/bin/python
Vous pouvez utiliser checkinstall pour supprimer Python:
Voir cet article pour plus de détails.