.. blogpost:: :title: Python 2 ou Python 3 ? :keywords: version, unicode, utf-8 :date: 2015-04-20 :categories: Python 2, Python 3 Il faut choisir Python 3 sans hésiter. Le language est plus cohérent et il est surtout beaucoup plus sûr dès qu'on manipule des chaînes de caractères. Tout est encodé en `unicode `_ et on ne se pose plus la question des accents ou caractères chinois. Tout se fait lorsqu'on lit ou on écrit un fichier ou qu'on convertit des octets (ou *bytes*) en caractères. Ensuite, à l'intérieur du programme, on ne se pose plus de questions. D'ailleurs, dès qu'on fait du web, une bonne règle de survie à suivre : tout doit être codé en `utf-8 `_. Très peu de modules n'ont pas encore effctué la migration version Python 3. Cela dit, à peu près tous les modules sont accessibles en Python 2.7 et Python 3 car leur code suit les règles d'écriture suivante : `Cheat Sheet: Writing Python 2-3 compatible code `_. A moins de devoir écrire un module disponible en Python 2 et 3 à la fois, cela complique inutilement le programme. Quelques liens : * `Python 2 vs Python 3 `_ * `Key differences between Python 2.7.x and Python 3.x `_ * `Python 2 Versus Python 3 Revisited `_ * `Python 2 VS Python 3 : réalité de terrain `_