El python
La commande du programme exécute Python 2. Python 3 peut être exécuté à l'aide de la commande python3
commandement. Comment exécuter Python 3 en utilisant la commande python
commande ?
Réponses
Trop de publicités?Vous pouvez installer un paquetage pour l'ensemble du système :
$ sudo apt install python-is-python3
Voir les avertissements : Paquet Python-is-python3 dans Ubuntu 20.04 - qu'est-ce que c'est et que fait-il réellement ?
Un moyen simple et sûr serait d'utiliser un alias. Placez celui-ci dans ~/.bashrc
o ~/.bash_aliases
fichier :
alias python=python3
Après avoir ajouté ce qui précède dans le fichier, exécutez source ~/.bashrc
o source ~/.bash_aliases
.
Par exemple :
$ python --version
Python 2.7.6
$ python3 --version
Python 3.4.3
$ alias python=python3
$ python --version
Python 3.4.3
Pour contourner l'alias, utilisez l'option command
commande intégrée :
$ command python --version
Python 2.7.6
Une autre façon de contourner l'alias est d'utiliser \
avant la commande.
$ \python --version
Python 2.7.6
Pour désactiver l'alias dans le Shell actuel, utilisez la commande unalias
commande intégrée :
$ unalias python
$ python --version
Python 2.7.6
Sur Ubuntu 20.04+. il suffit d'installer le python-is-python3
paquet :
sudo apt install python-is-python3
En plus de cela, vous pouvez empêcher que Python 2 soit installé en tant que dépendance de quelque chose à l'avenir avec apt-mark hold
:
sudo apt-mark hold python2 python2-minimal python2.7 python2.7-minimal libpython2-stdlib libpython2.7-minimal libpython2.7-stdlib
[juin 2016] L'endroit recommandé pour obtenir des informations sur la transition est l'organisme officiel suivant Ubuntu Python page.
De la Wiki Ubuntu :
Pour Ubuntu et Debian, nous avons en cours projet objectifs pour faire de Python 3 la version par défaut et préférée de Python dans les distros.
Ce que cette n'est pas moyen :
/usr/bin/python
pointera vers Python 3. Non, ça n'arrivera pas. (à moins que PEP 394 préconise le contraire, ce qui est douteux dans un avenir prévisible)./usr/bin/python
y/usr/bin/python2
indiquera Python 2.7 et/usr/bin/python3
pointera vers la dernière version de Python 3 prise en charge.Python 2 sera retiré de l'archive. Non, ça n'arrivera pas. . Nous nous attendons à ce que Python 2.7 reste supporté et disponible dans Ubuntu pendant un bon moment, étant donné que PEP 373 promet une assistance en amont pour la correction des bogues et la maintenance jusqu'en 2020.
Il n'est pas recommandé de changer le lien symbolique à cause des autres dépendances du paquet, mais ils "ont des objectifs de projet en cours pour faire de Python 3 la version de Python par défaut, préférée dans les distros".
Pour une utilisation en CLI, comme @Radu Radeanu je recommanderais de placer un alias dans le dossier de l'utilisateur. ~/.bashrc
, .bash_aliases
(les différents fichiers, dont ~/.bash_profile
sont chargés au moins une fois, sont principalement destinés à des fins d'organisation, mais peuvent varier selon la plate-forme). Python les environnements virtuels fonctionnent également bien.
Exemples d'alias :
alias python=python3
または
alias python='/usr/bin/python3'
Les scripts devraient toujours utiliser quelque chose comme #!/usr/bin/env python3
pour la compatibilité croisée.
Utilisation de env
est agréable pour une utilisation mixte avec des environnements virtuels.
Note (merci à @wjandrea) : les alias font partie du runtime bash, pas de l'environnement utilisateur. Par conséquent, ils ne sont pas disponibles pour le shebang ( #!
). Si vous préférez l'alias Python=python3, alors quelques program.py
sans shebang pourrait être exécuté en invoquant l'interprète aliasé comme ceci python program.py
. L'aliasing peut aussi être utile pour les systèmes avec plusieurs versions de python3 comme 3.4 et 3.6 ensemble.
Mise à jour : J'ai appris que ce n'est pas la bonne méthode, puisque Python2 et Python3 ne sont pas interchangeables.
Vous pouvez essayer l'outil en ligne de commande update-alternatives
.
$ sudo update-alternatives --config python
Si vous obtenez l'erreur "no alternatives for Python", configurez vous-même une alternative avec la commande suivante :
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10
Modifier le chemin /usr/bin/python3
à la version de Python de votre choix.
Ubuntu, ainsi que les autres distributions Linux, dépendent encore largement de Python 2.7 pour un certain nombre d'applications et de commandes. Si vous changez la référence par défaut de "Python" pour Python 3.x, un certain nombre de fonctions Python commenceront à lancer des erreurs d'assertion.
Par exemple, sous Ubuntu, "pip", par exemple, ne s'exécute plus correctement à moins que vous ne modifiiez directement le fichier et changiez le shebang pour faire référence à "#!/usr/bin/env python2.7". Sur les versions RHEL (Red Hat Enterprise Linux) telles que Red Hat, Fedora et CentOS, la commande 'Yum' dépend également de Python 2.7.
Ce que je veux dire, c'est que vous feriez en sorte qu'une quantité significative de code commence à lancer des erreurs d'assertion juste pour que vous puissiez taper 'Python' dans le terminal pour faire référence à Python 3.x.
Il est préférable d'utiliser la commande 'python3' dans le terminal et le shebang '#!/usr/bin/env python3' dans vos fichiers Python 3.x.
- Réponses précédentes
- Plus de réponses