Je travaille avec Ubuntu 14.04 LTS sur EC2. Je souhaite modifier l'interprète python par défaut de python 2.7 à 3.4.0, qui est installé par défaut.
Quand je fais:
/home/ubuntu$ which python
/usr/bin/python
regardant dans /usr/bin/
je vois:
Alors évidemment, c'est là. Comment définir cela par défaut?
Il y aurait plusieurs façons de le faire. Commencez par modifier les liens symboliques afin que le python
dans /usr/bin/
pointe réellement au même emplacement que le /usr/bin/python3
-sym-link. 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 la meilleure option des deux.
Python est utilisé dans une grande partie d'Ubuntu pour les scripts système et les logiciels, et les logiciels reposent sur le fait d'avoir Python (et les commandes permettant de démarrer Python) à un certain endroit.
Voir ici (Wiki Ubuntu - plutôt obsolète) et ici (Wiki Debian) pour plus d'informations sur l'utilisation par Ubuntu/Debian Python pour.
Maintenant, alors que Python 3 (3.4.0 dans votre cas) est la version la plus récente et suggérée de Python, il y a toujours Il reste encore beaucoup de code qui n'a pas été porté sur Python 3.
Comme vous l'avez vu précédemment, l'exécution de python
exécute par défaut l'interpréteur Python 2.7 - et c'est ce à quoi le logiciel de votre ordinateur est censé s'attendre.
Donc, si vous modifiez la commande pour qu'elle exécute Python 3, vous allez provoquer toutes sortes de dégâts et de ruptures de code, car vous allez essayer d'exécuter Python 2.7 code (qui est écrit en syntaxe Python 2.7 et utilise les bibliothèques Python 2.7) à l'aide de l'interpréteur Python 3.4 (qui attend la syntaxe Python 3.4 et Python 3.4 bibliothèques.)
Cependant, ce que vous pouvez faire, c'est créer un alias pour votre usage personnel. Ceci peut être accompli 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. Vous devriez pouvoir utiliser la commande python
pour votre usage personnel sans que cela n’affecte le reste du système.
Cependant, cela, encore une fois, n’est pas suggéré car, bien que vous ne détruisiez aucun des codes du système qui reposent sur le placement correct des interprètes Python, j’ai entendu dire que cela pouvait causer d’autres problèmes ( Je ne sais pas/me souviens.)
Si vous écrivez Python avec une syntaxe correcte, vous devez inclure ce qu'on appelle Shebang . (Voir aussi ici , et ici .)
S'il est correctement inclus, 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 renoncer totalement au type de fichier .py
et taper simplement 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 nécessite un peu plus de travail - mais cela garantira que votre code est exécuté à l'aide du bon interprète.
Et vraiment. Est-il difficile de taper python3
pour exécuter le code correctement? Je n'essaie pas d'être méchant, et je vois un peu pourquoi vous voudriez le faire, mais ce n'est pas si difficile d'exécuter python3
au lieu de python
name__.