Red Hat Training

A Red Hat training course is available for RHEL 8

2.3.2. Interpretación del código

Esta sección muestra cómo compilar en bytes un programa escrito en Python y cómo interpretar en crudo un programa escrito en bash.

Nota

En los dos ejemplos siguientes, la línea #! al principio del archivo se conoce como shebang, y no forma parte del código fuente del lenguaje de programación.

El shebang permite utilizar un archivo de texto como ejecutable: el cargador de programas del sistema analiza la línea que contiene el shebang para obtener una ruta al ejecutable binario, que se utiliza entonces como intérprete del lenguaje de programación. La funcionalidad requiere que el archivo de texto esté marcado como ejecutable.

2.3.2.1. Código de compilación de bytes

Esta sección muestra cómo compilar el programa pello.py escrito en Python en código de bytes, que luego es ejecutado por la máquina virtual del lenguaje Python.

El código fuente de Python también puede ser interpretado en bruto, pero la versión compilada en bytes es más rápida. Por ello, los empaquetadores de RPM prefieren empaquetar la versión compilada en bytes para su distribución a los usuarios finales.

pello.py

#!/usr/bin/python3

print("Hello World")

El procedimiento para compilar programas en bytes varía en función de los siguientes factores:

  • Lenguaje de programación
  • Máquina virtual del lenguaje
  • Herramientas y procesos utilizados con ese lenguaje
Nota

Python suele compilarse en bytes, pero no de la manera descrita aquí. El siguiente procedimiento no pretende ajustarse a los estándares de la comunidad, sino ser sencillo. Para conocer las directrices del mundo real de Python, consulte Empaquetado y distribución de software.

Utilice este procedimiento para compilar pello.py en código de bytes:

Procedimiento

  1. Compilación de bytes del archivo pello.py:

    $ python -m compileall pello.py
    
    $ file pello.pyc
    pello.pyc: python 2.7 byte-compiled
  2. Ejecuta el código de bytes en pello.pyc:

    $ python pello.pyc
    Hello World