Entornos virtuales enPython
Cuando estás desarrollando programas para clientes o en colaboración con otros programadores (y en muchos casos ambos) te sueles encontrar con el problema de que, dependiendo del cliente, tiene diferentes entornos de trabajo como la versión de Python o distintas versiones de ciertas librerías.
Esto se suele deber que tú haces un programa perfecto, pero cuando al cabo de 2 o tres años te dicen que tu pedazo programa ha dejado de funcionar por alguna razón estúpida, como que la nueva versión de la librería tal que han actualizado con esa alegre estupidez optimista que nos caracteriza a todos y resulta que por alguna razón es incompatible con tu antiguo programa.
Esto supone salir corriendo hacia el cliente para ver qué pasa y después de unas cuantas horas de pruebas y dolores de cabeza (Que difícilmente querrá pagarte el cliente) llegas a la conclusión de que una cierta librería es incompatible con tu programa porque la han mejorado muche, pero han cambiado alguna cosilla que hace tu programa casque.
Lo ideal sería que desinstalases la última versión y volvieses a instalar la antigua, pero entonces te informan de que no se que nuevo programa que han comprado requiere esa última versión de la librería y que ahí te apañes.
Seguro que muchas de estas cosas os resultaran familiares a los que os ganáis la vida escribiendo líneas de programa y para evitar este tipo de historias lo mejor, en Python, es crear un entorno virtual para asegurarnos de que esto nos pase (O no al menos no demasiado a menudo)
Un entorno virtual en Python, te permite definir un entorno de trabajo estable, con sus propias versiones de las librerías, independientemente de los cambios que se hagan en el entorno general, y de eso va esto tuto de hoy, espero que os resulte interesante.