Capítulo 15. Uso de Python
15.1. Introducción a Python
Python es un lenguaje de programación de alto nivel que soporta múltiples paradigmas de programación, como el orientado a objetos, el imperativo, el funcional y el procedimental. Python tiene una semántica dinámica y puede utilizarse para la programación de propósito general.
Con Red Hat Enterprise Linux, muchos paquetes que se instalan en el sistema, como los paquetes que proporcionan herramientas del sistema, herramientas para el análisis de datos o aplicaciones web, están escritos en Python. Para poder utilizar estos paquetes, es necesario tener instalados los paquetes python
.
15.1.1. Versiones de Python
Existen dos versiones incompatibles de Python, Python 2.x y Python 3.x.
RHEL 8 proporciona las siguientes versiones de Python.
Versión | Paquete a instalar | Ejemplos de comandos | Disponible desde | Ciclo de vida |
---|---|---|---|---|
Python 3.6 |
|
| RHEL 8.0 | rHEL 8 completo |
Python 2.7 |
|
| RHEL 8.0 | más corto |
Python 3.8 |
|
| RHEL 8.2 | más corto |
Consulte Red Hat Enterprise Linux Life Cycle y Red Hat Enterprise Linux 8 Application Streams Life Cycle para obtener detalles sobre la duración del soporte.
Cada una de las versiones de Python se distribuye en un módulo independiente y, por su diseño, se pueden instalar varios módulos en paralelo en el mismo sistema.
El módulo python38
no incluye los mismos enlaces a las herramientas del sistema (RPM, DNF, SELinux y otras) que se proporcionan para el módulo python36
.
Especifica siempre la versión de Python cuando lo instales, lo invoques o interactúes con él. Por ejemplo, utilice python3
en lugar de python
en los nombres de paquetes y comandos. Todos los comandos relacionados con Python deben incluir también la versión, por ejemplo, pip3
, pip2
, o pip3.8
.
El comando python
no versionado(/usr/bin/python
) no está disponible por defecto en RHEL 8. Puede configurarlo utilizando el comando alternatives
; para obtener instrucciones, consulte Configuración del Python no versionado. Cualquier cambio manual en /usr/bin/python
, excepto los cambios realizados con el comando alternatives
, puede ser sobrescrito en una actualización.
Como administrador del sistema, se recomienda utilizar preferentemente Python 3 por las siguientes razones:
- Python 3 representa la principal dirección de desarrollo del proyecto Python.
- El apoyo a Python 2 en la comunidad upstream finaliza en 2020.
- Las bibliotecas populares de Python están dejando de soportar Python 2 en el upstream.
-
Python 2 en Red Hat Enterprise Linux 8 tendrá un ciclo de vida más corto y su objetivo es facilitar a los clientes una transición más suave a
Python 3
.
Para los desarrolladores, Python 3 tiene las siguientes ventajas sobre Python 2:
- Python 3 permite escribir código expresivo, mantenible y correcto con mayor facilidad.
- El código escrito en Python 3 tendrá una mayor longevidad.
- Python 3 tiene nuevas características, incluyendo asyncio, f-strings, desempaquetado avanzado, argumentos de sólo palabra clave, excepciones encadenadas y más.
Sin embargo, el software existente tiende a requerir que /usr/bin/python
sea Python 2. Por esta razón, no se distribuye ningún paquete python
por defecto con Red Hat Enterprise Linux 8, y se puede elegir entre usar Python 2 y 3 como /usr/bin/python
, como se describe en Sección 15.2.5, “Configurar el Python no versionado”.
15.1.2. El paquete interno platform-python
Las herramientas del sistema en Red Hat Enterprise Linux 8 utilizan una versión 3.6 de Python proporcionada por el paquete interno platform-python
. Red Hat aconseja a los clientes utilizar el paquete python36
en su lugar.