Historia de Python

Versiones de Python

Guido van Rossum ideó el lenguaje Python a finales de los 80 y comenzó a implementarlo en diciembre de 1989. En febrero de 1991 publicó la primera versión pública, la versión 0.9.0. La versión 1.0 se publicó en enero de 1994, la versión 2.0 se publicó en octubre de 2000 y la versión 3.0 se publicó en diciembre de 2008. hasta 2018, el desarrollo de Python lo lleva a cabo un colectivo de programadores dirigido por Guido van Rossum y bajo el paraguas de la fundación Python Software Foundation. En julio de 2018 Guido van Rossum anunció que dejaría de dirigir el desarrollo de Python y a principios de 2019 se pondrá en marcha un consejo director de cinco miembros elegidos entre los desarrolladores de Python.

Las versiones de Python se identifican por tres números X.Y.Z, en la que:

La imagen siguiente muestra la fecha de publicación de las versiones principales de Python, en cada una de las tres grandes versiones, Python 1, Python 2 y Python 3. Las versiones indicadas con punto rojo se consideran obsoletas, las versiones indicadas con punto negro siguen publicando actualizaciones, las versiones indicadas con punto blanco corresponden a versiones futuras con las fechas de publicación previstas.

Python 1 Python 2 Python 3 94 94 95 95 96 96 97 97 98 98 99 99 00 00 01 01 02 02 03 03 04 04 05 05 06 06 07 07 08 08 09 09 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 1.0 1.1 1.2 1.3 1.4 1.5 1.6 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8

La imagen siguiente muestra la fecha de publicación de las últimas versiones menores de Python. Las versiones indicadas en rojo se consideran obsoletas, las versiones indicadas con punto blanco corresponden a versiones futuras con fechas ya previstas.

Python 2010 2010 2011 2011 2012 2012 2013 2013 2014 2014 2015 2015 2016 2016 2017 2017 2018 2018 2019 2019 2.7 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 2.7.8 2.7.9 2.7.10 2.7.11 2.7.12 2.7.13 2.7.14 2.7.15 2.7.16 3.2 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.3 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 3.4 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.4.6 3.4.7 3.4.8 3.4.9 3.4.10 3.5 3.5.1 3.5.2 3.5.3 3.5.4 3.5.5 3.5.6 3.5.7 3.5.8 3.6 3.6.1 3.6.2 3.6.3 3.6.4 3.6.5 3.6.6 3.6.7 3.6.8 3.7 3.7.1 3.7.2 3.7.3 3.8

Es posible tener instalados en el ordenador varias versiones de Python pero, salvo que sea necesario para la ejecución de programas o paquetes incompatibles, se recomienda instalar siempre la última versión disponible.

Referencias

Transición de Python 2 a Python 3

La transición de Python 2 a Python 3 ha resultado mucho más costosa de lo esperado, debido a que Python 3 introdujo muchos cambios en el lenguaje y obligaba a reescribir prácticamente todos los programas (aunque se han creado herramientas para ayudar en ese proceso).

La intención inicial era haber terminado Python 2 con la versión 2.6, pero en 2010 se tuvo que publicar la versión 2.7, incorporando parte de las novedades de Python 3. Además, el período de mantenimiento de Python 2.7 se tuvo que duplicar de los cinco años habituales a diez, hasta 2020.


Un primer obstáculo en el proceso de transición de Python 2 a Python 3 fue la propia disponibilidad de Python 3 en las distribuciones GNU/Linux. Muchas herramientas internas de las distribuciones están escritas en Python y su conversión de Python 2 a Python 3 no era fácil, por lo que las distribuciones no podían pasar simplemente de incluir una versión a otra.

Hasta 2015, Python 2 siguió siendo la versión predeterminada de Python en la mayoría de distribuciones GNU/Linux (aunque se podía instalar Python 3 sin problemas en ellas). Felizmente, esta situación está en vías de solución:

Aunque las nuevas versiones de las distribuciones ya incluyan Python 3, las distribuciones que incluyen Python 2 seguirán instaladas en servidores durante bastantes años. Ese es el motivo por el que la fundación Python prolongó el período de publicación de actualizaciones de seguridad de Python 2.7 hasta finales de 2019. A partir de 2020 serán las distribuciones las que sigan actualizando Python 2.7 durante el tiempo que se mantengan las propias distribuciones (por ejemplo, RedHat 7 se mantendrá hasta el año 2024, como mínimo).


Un segundo obstáculo en el proceso de transición de Python 2 a Python 3 (y que ha afectado además a todos los sistemas operativos) ha sido la disponibilidad de las bibliotecas.

Python cuenta con un gran número de bibliotecas, cuyo repositorio oficial es PyPI (Python Package Index), que facilitan la programación de aplicaciones complejas. Cuando se publicó Python 3, la inmensa mayoría de bibliotecas sólo estaban disponibles para Python 2 y, lógicamente, si un programa necesitaba alguna biblioteca que sólo estaba disponible para Python 2, el programa no se podía pasar tampoco a Python 3.

Poco a poco, la mayoría de bibliotecas de Python han ido publicando versiones para Python 3, por lo que este problema también está en vías de solución.

En marzo de 2016, un estudio de empleados de Microsoft señalaba que por aquel entonces algo más del 50% de las bibliotecas estaban disponibles tanto para Python 2 como para Python 3, un 25% estaban disponibles sólo para Python 2 y un poco menos del 25% estaban disponibles sólo para Python 3, pero la tendencia parecía indicar que a mediados de 2016 Python 3 pasaría a ser la versión más popular.

Varias páginas web hacen un seguimiento de la compatibilidad con Python 3 de las bibliotecas más populares

Retirada de Guido van Rossum

En julio de 2018, Guido van Rossum anunció su retirada como BDOF.

En diciembre de 2018 se aprobó el PEP 8016 -- The Steering Council Model que establece un consejo directivo formado por cinco miembros elegidos entre los desarrolladores de Python y que será renovado tras cada publicación de una versión principal de Python. El primer consejo directivo se elegirá probablemente en enero de 2019 y tendrá un mandato relativamente breve, puesto que la fecha de publicación prevista de Python 3.8 es octubre de 2019.

Referencias:

Distribuciones GNU/Linux

La tabla siguiente indica las versiones de Python incluidas en las distribuciones GNU/Linux más utilizadas en servidores:

Año Python Fedora RedHat Enterprise Linux Debian Ubuntu SUSE Linux Enterprise Año
2019 ¿Oct?: Py 3.8 ¿Oct?: Fedora 31
¿May?: Fedora 30: Py 3.7.2
¿Jun?: Debian 10 (buster) 2019
2018 Jun: Py 3.7 Oct: Fedora 29: Py 3.7.0
May: Fedora 28: Py 3.6.5
Abr: Ubuntu 18.04 LTS (bionic): May: SLE 15: 2018
2017 Nov: Fedora 27: Py 3.6.2
Jul: Fedora 26: Py 3.6.1
Jun: Debian 9 (stretch): Py 2.7 / Py 3.5 2017
2016 Dic: Py 3.6 Nov: Fedora 25: Py 3.5.2
Jun: Fedora 24: Py 3.5.1
Abr: Ubuntu 16.04 LTS (xenial): 2016
2015 Sep: Py 3.5 Nov: Fedora 23: Py 3.4.3
May: Fedora 22: Py 2.7.9
Abr: Debian 8 (jessie): Py 2.7 / Py 3.4 2015
2014 Mar: Py 3.4 Dic: Fedora 21: Py 2.7.8 Jun: RHEL 7: Py 2.7 Abr: Ubuntu 14.04 LTS (trusty): Oct: SLE 12: 2014
2013 Dic: Fedora 20: Py 2.7.5
Jul: Fedora 19: Py 2.7.5
Ene: Fedora 18: Py 2.7.3
May: Debian 7 (wheezy): Py 2.7 / Py 3.2 2013
2012 Sep: Py 3.3 May: Fedora 17: Py 2.7.3 Abr: Ubuntu 12.04 LTS (precise): 2012
2011 Feb: Py 3.2 Nov: Fedora 16: Py 2.7.2
May: Fedora 15: Py 2.7.1
Feb: Debian 6 (squeeze): Py 2.6 / Py 3.1 2011
2010 Jul: Py 2.7 Nov: Fedora 14: Py 2.7.0
May: Fedora 13: Py 2.6.4
Nov: RHEL 6: Py 2.6 Abr: Ubuntu 10.04 LTS (lucid): 2010
2009 Jun: Py 3.1 Nov: Fedora 12: Py 2.6.2
Jun: Fedora 11:Py 2.6.0
Feb: Debian 5 (lenny): Py 2.5 Mar: SLE 11: 2009
2008 Oct: Py 2.6
Dic: Py 3.0
Nov: Fedora 10: Py 2.5.2
May: Fedora 9: Py 2.5.1
Abr: Ubuntu 8.04 LTS (hardy): 2008
2007 Nov: Fedora 8: Py 2.5.1
May: Fedora 7: Py 2.5.0
Mar: RHEL 5: Py 2.4 Abr: Debian 4 (etch): 2007
Año Python Fedora RedHat Enterprise Linux Debian Ubuntu SUSE Linux Enterprise Año

Fuentes: