Ejecutar programas Python desde fuera del IDLE

Hasta el momento todo el código que hemos escrito lo hemos ejecutado desde el IDLE. Aunque es un buen comienzo, en la práctica por lo general necesitaremos ejecutar programas Python desde afuera de ese entorno. En este post explicaremos cómo lograr este objetivo tanto en Windows como en Linux. De esa manera, podremos distribuir nuestros programas fácilmente. Además, quienes posean el intérprete instalado podrán ejecutarlos (sin necesariamente tener el IDLE instalado).

Ejecutar programas Python

Para empezar, la primera línea de nuestros scripts o programas debe indicar que deseamos ejecutarlo utilizando Python. Esta primera línea se denomina shebang y consiste de lo siguiente.

En Windows:

#! python3

En Linux:

#! /usr/bin/python3

Estrictamente hablando, la shebang no es necesaria en Windows. Sin embargo, es bueno incluirla de todas maneras por si llegáramos a tener otra versión de Python instalada. Recordemos que la versión 2 todavía se utiliza aunque no se encuentra bajo mantenimiento activo.

A continuación, agregaremos el código del que consistirá nuestro script o programa. Cualquiera de los ejemplos presentados en posts anteriores puede utilizarse.

La variable de entorno PATH

Para poder ejecutar directamente nuestros scripts desde la línea de comandos (ya sea en Windows o Linux), vamos a necesitar agregar el directorio donde se encuentran a la variable de entorno PATH. Al hacerlo le estaremos indicando al sistema operativo que busque archivos ejecutables también en el directorio que le indiquemos. Supongamos que deseamos agregar el directorio /home/gabriel/ScriptsPython en Linux y C:\Users\Gabriel\ScriptsPython en Windows. Lo haremos de la siguiente manera:

Especificando argumentos

Tal como sucede en los scripts de Bash, nuestros programas escritos en Python quizás necesiten utilizar argumentos. Si nuestro programa se encuentra en el archivo saludo.py y necesitamos pasarle los argumentos Gabriel y Linuxero, podemos hacerlo de la siguiente manera:

saludo.py Gabriel Linuxero

Luego, desde dentro del programa podemos acceder a dichos parámetros utilizando la variable sys.argv. Esta variable contiene una lista de strings compuesta por el nombre del archivo y por los argumentos que le pasamos al script. En la Fig. 1 vemos el resultado del siguiente ejemplo:

# Agregar shebang aquí

# Importamos el módulo sys para poder acceder a sys.argv
import sys
# Agreguemos una referencia a sys.argv en la variable args
args = sys.argv

# Veamos el contenido de args:
print(args)

# Saludo:
print('Hola! Me llamo ' + args[1] + ' y soy ' + args[2])
Ejecutar programas Python
Figura 1 – Ejecutar programas Python

Espero que este post les haya resultado de utilidad.

¡Nos leemos en el próximo post!