web-dev-qa-db-fra.com

Comment passer en toute sécurité à python3 par défaut après la mise à niveau vers Ubuntu 18.04

Étant donné que python3 est la version par défaut de python dans Ubuntu 18.04 et python2 ne sera pas expédié par défaut lors d'une nouvelle installation d'Ubuntu 18.04, comment puis-je définir python3 par défaut après une mise à niveau vers Ubuntu 18.04 (à partir de 16.04). Actuellement, après la mise à niveau vers python2, la valeur par défaut est toujours utilisée (la commande python, par exemple, renvoie à python2 etc.). Toutefois, la purge du package python entraînera la suppression d'un trop grand nombre de packages qui en dépendent. Il ne s'agit donc pas d'une option.

Idéalement, je souhaite supprimer autant que possible la dépendance python2. Peut-être que le processus de mise à niveau pourrait être conçu de manière à vérifier tous les paquets, qu'ils reposent toujours sur des dépendances python2 et collectent ainsi toutes les dépendances python2 qui pourraient être remplacées par une dépendance équivalente à python3 (qui sera résolue par la mise à niveau à ce moment-là) .

9
zazi

Pour supprimer complètement python2, vous devez purger le package python2.x-minimal qui est effectué par

Sudo apt purge python2.x-minimal

en remplaçant x par la version exacte de python 2 sur votre système. Mais assurez-vous de regarder quels autres paquets sont supprimés car vous avez peut-être transporté des paquets qui dépendent encore de python 2 même après la mise à niveau. Ces paquets seront également désinstallés et cesseront de fonctionner.


Il n’existe pas d’interprète 'python par défaut' car il dépend du fichier vers lequel pointe /usr/bin/python. Pour le remplacer par python, utilisez la commande ln pour mettre à jour le lien, par exemple, disons que vous voulez qu'il pointe vers python 3.6

Sudo ln -sfn /usr/bin/python3.6 /usr/bin/python

Sinon, si vous ne souhaitez que cela pour votre utilisateur, vous pouvez le définir comme votre alias dans votre .bashrc. Pour ce faire, ouvrez ~/.bashrc dans l'éditeur de votre choix et ajoutez la ligne suivante.

alias python='python3.6' 
8
Amith KK

Ce message est un peu ancien, mais je pense qu’il existe une meilleure alternative: entrez update-alternatives. Ce qui suit va définir votre /usr/bin/python sur 2,7 par défaut mais 3,6 disponible quand vous le souhaitez:

Sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 20
Sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 10

La priorité la plus élevée est utilisée ici comme choix "automatique" pour /usr/bin/python mais vous pouvez facilement basculer en exécutant Sudo update-alternatives --config python.

0
Joshua Whitley

Sur mon 16.04 /usr/bin/python est juste un lien vers /usr/bin/python2.7 donc je suppose que vous devez simplement changer ce lien pour qu'il pointe sur /usr/bin/python3.x (avec un nom adéquat x bien sûr).

0
xenoid