J'ai installé avec succès python 3.3 sur Ubuntu 12.10. Comme je n’ai pas besoin de plusieurs versions de python, je souhaite supprimer le fichier pythonexistant 2.7. Quand j'essaie de le faire, en utilisant
Sudo apt-get remove python2.7
Ubuntu me prévient qu'il y a des tonnes de composants dépendant du système qui seront également supprimés. Cela semble vraiment effrayant.
Donc, y a-t-il un moyen de supprimer python 2.7 sans supprimer les composants dépendants du système, ou puis-je demander à ces dépendants d'utiliser python 3.3?
Depuis le wiki Ubuntu/Python :
Plans à plus long terme (par exemple 14.04)
Déplacez Python 2 vers l'univers, portez toutes les Python applications principales dans Python 3. Nous ne pourrons jamais nous débarrasser complètement de Python 2.7, mais comme il n'y aura jamais non plus de Python 2.8, et que Python 2.7 aura presque 4 ans au moment de la sortie de la version 14.04 LTS, il est temps de reléguer Python 2 à l'univers.
Cela signifie que beaucoup de paquets de base ont des dépendances difficiles sur la version 2.7 et qu'il faudra encore beaucoup de temps pour migrer les choses. Notez que Python 3 comporte de nombreuses modifications incompatibles avec les versions antérieures - il ne s’agit pas d’une mise à niveau régulière du package.
Si vous voulez vraiment vous débarrasser de Python 2.7, vous devrez attendre la version 14.04, mais rien ne garantit.
Vous ne pouvez pas et vous ne voulez pas vraiment.
Python a changé radicalement entre 2.7 et 3.0 et a brisé la compatibilité avec les versions antérieures. Les scripts Python écrits pour la version 2.7, utilisés pour prendre en charge une grande partie de l'infrastructure du système, ne fonctionneront pas nécessairement correctement avec Python 3.x. Ces scripts doivent être mis à jour pour fonctionner avec la nouvelle version. Jusqu'à ce que cela se produise, vous devez conserver Python 2.7.
C'est pourquoi vous remarquez un si grand nombre de dépendances sur l'ancien Python - le système en dépend. De plus, il n'y a aucun mal à avoir les deux versions de Python installées sur le même système. Et vous rencontrerez peut-être des applications qui utiliseront toujours Python 2.7, il est donc judicieux de le conserver.
Je suis arrivé ici en 2019 parce que je développais par défaut en Python3 et arrivais à la même conclusion que OP après avoir vu ce qui serait supprimé après l'exécution de apt purge python
Comme je voulais vraiment appeler Python3 avec seulement python
name__, j’ai exécuté
Sudo rm /usr/bin/python
Sudo ln -s /usr/bin/python3 /usr/bin/python
De cette façon, si Python2.7 est toujours nécessaire, il peut être appelé explicitement avec python2.7
tandis que simplement appeler python
passera par défaut à Python3 en raison du lien symbolique.
Je n'ai aucun script de niveau bash appelant python2.7 avec python
afin que cette modification ne soit pas perturbante - alors que les autres systèmes auraient besoin que leurs scripts soient ajustés en conséquence s'ils le faisaient.
Le principal obstacle à une distribution qui bascule la commande python de python2 à python3 ne réside pas dans la rupture de la distribution, mais dans celle des scripts tiers privés développés par sysadmins et d'autres utilisateurs.
- La commande "python" sur les systèmes Unix-Like
Cette réponse n’est pas une réponse directe à OP, mais en tant que personne ayant une question similaire, c’est la fonctionnalité que je recherchais lorsque je pensais supprimer 2.7. Plutôt que de supprimer, il suffit de donner la priorité à celui qui utilise python
name__.