Ubuntu 12.10 a Python 3.2.3 par défaut, cela a-t-il un impact sur les outils python existants, conçus pour être utilisés avec les anciens python 2.x? Il y a eu une discussion dans HackerNews sur le même sujet. Je suis un peu inquiet maintenant de guider quelqu'un dans le monde python qui passe à la dernière version 12.10 pour la raison pour laquelle il est livré avec Python3.2
J'installe actuellement 12.10 à partir de 12.04. Puis-je travailler côte à côte sur Python versions 2.x et 3.x sans endommager le système? Merci.
Non, cela n'affecte pas les outils Python2 existants.
12.10 a Python3 installé par défaut, mais cela ne veut pas dire que c'est le "Python par défaut". À ce stade, Python2 est également installé par défaut (AFAIK) et, surtout,/usr/bin/python est toujours un lien symbolique vers python2.7.
La transition vers Python3 a été effectuée de telle sorte que les applications Python2 existantes n’ont aucun effet. 2 et 3 sont installables en parallèle et installent leurs packages de site à des emplacements différents.
Si vous souhaitez que votre application utilise Python3, vous devez explicitement modifier Shebang en:
#!/usr/bin/python3
Voir Python 3 sur Ubunt pour plus de détails.
le hash bang devrait être:
#!/usr/bin/env pythonX.Y.Z
et pas
#!/usr/bin/pythonX.Y.Z
De cette façon, le code fonctionnera même si python n'est pas dans /usr/bin/python
mais dites /usr/local/bin/python
ou /opt/python2.7/bin/python
et si tout est dans $PATH
.
Cela fait même que le code fonctionne sur OSX. IIRC devrait également charger le runtime actuel sur Windows [1].