Ajouter /usr/local/bin
à votre PATH
variable d'environnement, plus tôt dans la liste que /usr/bin
.
Généralement, cela se fait dans le fichier rc de votre shell, par ex. pour bash, vous mettriez ceci dans .bashrc
:
export PATH="/usr/local/bin:$PATH"
Cela amènera votre shell à rechercher d'abord un python
en /usr/local/bin
, avant d'aller avec celui de /usr/bin
.
(Bien sûr, cela signifie que vous devez également avoir /usr/local/bin/python
pointe vers python2.7
- si ce n'est pas déjà fait, vous devrez le lier symboliquement.)
Entrez la commande
which python
//output:
/usr/bin/python
cd /usr/bin
ls -l
Ici vous pouvez voir quelque chose comme ça
lrwxrwxrwx 1 root root 9 Mar 7 17:04 python -> python2.7
votre python2.7 par défaut est lié au texte 'python'
Supprimez donc le softlink python
sudo rm -r python
puis réessayez la commande ci-dessus
ls -l
vous pouvez voir que le lien symbolique est supprimé
-rwxr-xr-x 1 root root 3670448 Nov 12 20:01 python2.7
Créez ensuite un nouveau lien symbolique pour python3.6
ln -s /usr/bin/python3.6 python
Essayez ensuite la commande python
dans le terminal
//output:
Python 3.6.7 (default, Oct 22 2018, 11:32:17)
[GCC 8.2.0] on linux
Tapez help
, copyright
, credits
ou license
pour plus d'informations.
Vous ne voulez probablement pas changer votre Python par défaut.
Votre distribution a installé un système standard Python en /usr/bin
, et peut avoir des scripts qui dépendent de sa présence, et sélectionnés par #! /usr/bin/env python
. Vous pouvez habituellement s'en tirer en exécutant des scripts Python 2.6 en 2.7, mais voulez-vous prendre le risque ?
En plus de ça, singe avec /usr/bin
peut interrompre la capacité de votre gestionnaire de packages à gérer les packages. Et changer l'ordre des répertoires dans votre PATH
affectera beaucoup d'autres choses que Python. (En fait, il est plus courant d'avoir /usr/local/bin
devant /usr/bin
, et c'est peut-être ce que vous voulez réellement, mais si c'est l'inverse, il y a probablement une bonne raison à cela.)
Mais vous n'avez pas besoin pour changer votre Python par défaut pour que le système exécute 2.7 lorsque vous tapez python
.
Tout d'abord, vous pouvez configurer un alias de shell :
alias python=/usr/local/bin/python2.7
Tapez-le à l'invite ou mettez-le dans votre ~/.bashrc
si vous voulez que le changement soit persistant, et maintenant quand vous tapez python
il exécute votre 2.7 choisi, mais lorsqu'un programme sur votre système essaie d'exécuter un script avec /usr/bin/env python
il exécute la norme 2.6.
Alternativement, créez simplement un environnement virtuel à partir de votre 2.7 (ou des venv séparés pour différents projets) et faites votre travail à l'intérieur du venv.