Comment définir python 3 comme interpréteur par défaut dans Ubuntu 14.04 [dupliquer]

27

Je travaille avec Ubuntu 14.04 LTS sur EC2. Je veux changer l'interpréteur de python par défaut de python 2.7 à 3.4.0 qui est installé par défaut.

Quand je le fais:

/home/ubuntu$ which python
/usr/bin/python

regarder dans /usr/bin/ je vois:

Alors, évidemment, il est là. Comment définir cela comme valeur par défaut?

    
posée user61629 26.02.2015 - 00:55
la source

1 réponse

38

Il y aurait plusieurs façons de le faire. Tout d'abord, modifiez les liens de symétrie afin que python in /usr/bin/ pointe réellement vers le même emplacement que le lien de connexion /usr/bin/python3 . Cependant, c'est une mauvaise idée (comme je l'explique ci-dessous).

La deuxième option serait de créer un alias de commande spécifique à l'utilisateur - c'est certainement la meilleure option des deux.

Changer les liens Sym est mauvais

Python est utilisé dans une grande partie d'Ubuntu pour les scripts et les logiciels système, et le logiciel repose sur Python (et les commandes pour démarrer Python) dans un certain endroit.
Voir ici (Wiki Ubuntu - plutôt obsolète) et ici (Wiki Debian) pour plus d'informations sur l'utilisation de Python par Ubuntu / Debian.

Maintenant que Python 3 (3.4.0 dans votre cas) est la version la plus récente et la version suggérée de Python, il reste encore beaucoup de code qui n'a pas encore été porté sur Python 3.

Par défaut, comme vous l’avez vu, exécuter python exécute l’interpréteur Python 2.7 - et c’est ce à quoi le logiciel de votre ordinateur va s’attendre.

Donc, si vous modifiez la commande pour exécuter Python 3, vous allez causer toutes sortes de dégâts et de ruptures de code car vous allez essayer d’exécuter du code Python 2.7 (écrit en syntaxe Python 2.7 et utilisant Python). 2.7 bibliothèques) utilisant l'interpréteur Python 3.4 (qui attend la syntaxe Python 3.4 et les bibliothèques Python 3.4).

Méthode de création d'alias plus sûre

Cependant, ce que vous pouvez faire est de créer un alias pour votre usage personnel. Cela peut être fait facilement en ajoutant la ligne suivante:

alias python=python3

ou

alias python=/usr/bin/python3

/ dans le fichier ~/.bash_aliases - que vous pouvez éditer via sudo nano ~/.bash_aliases . Ensuite, fermez et rouvrez le terminal et vous devriez pouvoir utiliser la commande python pour votre usage personnel sans que cela affecte le reste du système.

Cependant, ceci, encore une fois, n’est pas suggéré car bien que vous ne cassiez aucun des codes à l’échelle du système qui repose sur le placement correct des interpréteurs Python, j’ai entendu dire qu’il pouvait causer d’autres problèmes t savoir / se souvenir.)

Méthode appropriée qui ne nécessite aucun changement de l’interpréteur Python

Si vous écrivez Python avec la syntaxe correcte, vous devez inclure ce que l'on appelle un Shebang . (Voir aussi ici , et ici .)

Si inclus correctement, cela vous permettrait d'exécuter un script Python simplement via ./SCRIPT-NAME.py après avoir rendu le script exécutable via sudo chmod +x ./SCRIPT-NAME.py . Vous pouvez également totalement renoncer à avoir le type de fichier .py et simplement saisir le code dans un fichier vide et l'enregistrer sous le nom SCRIPT-NAME , puis exécuter sudo chmod +x ./SCRIPT-NAME et l'exécuter via ./SCRIPT-NAME .

Certes, cela prend un peu plus de travail - mais il s’assurera que votre code est exécuté en utilisant l’interpréteur approprié.

Et vraiment. Est-il difficile de taper python3 pour exécuter le code correctement? Je n'essaie pas d'être méchant, et je peux voir pourquoi vous voulez le faire, mais ce n'est pas si difficile de simplement exécuter python3 au lieu de python .

    
réponse donnée RPi Awesomeness 26.02.2015 - 01:09
la source

Lire d'autres questions sur les étiquettes