GNU/Linux >> Tutoriels Linux >  >> Linux

Deux versions de python sous Linux. comment faire de 2.7 la valeur par défaut

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.


Linux
  1. Comment Linux est arrivé sur le mainframe

  2. Comment changer la version python par défaut sur Debian 9 Stretch Linux

  3. Linux - Comment supprimer la variable d'environnement "http_proxy" en Python ?

  4. Comment installer Python 3.10 sur Rocky Linux 8

  5. Comment changer le shell par défaut sous Linux

Comment utiliser et tirer le meilleur parti de la commande fuser sous Linux

Comment rendre un fichier exécutable sous Linux

Comment gérer plusieurs versions de Python avec Pyenv sous Linux

Comment changer le shell utilisateur par défaut dans le système d'exploitation Linux

Comment changer le shell par défaut dans le système Linux

Comment puis-je voir la documentation Python sur Linux ?