Python 2 o Python 3

Una de las cosas que menos me gusta de Python es la diferencia entre versiones. Se han introducido modificaciones importantes en sintaxis y módulos clave que hacen que código escrito para Python 3.x no funcione en la 2.x (para más detalle ver este post de Guido van Rossum, creador del lenguaje). Por tanto, una de las primeras tareas antes de empezar a desarrollar es decidir qué versión se va a usar. Y aquí la clave no está en qué características del lenguaje vamos a utilizar, sino qué librerías y frameworks vamos a necesitar.

Por ejemplo, resulta dramático que los bindings de mysql no estén soportados en python3. Existe un módulo para utilizar estas bases de datos en Python 3 (ver PyMySQL) pero si has venido utilizando el módulo de toda la vida, el  MySQL-python, tendrás que quedarte en la 2.7.

Puedes ver de un vistazo qué módulos, de los más populares, están portados a Python 3 en Python 3 Wall of Superpowers.

Sigue leyendo