Cómo ejecutar un script Python?

Publicado el jueves, 21 de marzo del 2024

Un script Python es un archivo que contiene una secuencia de código Python ejecutable. Este tipo de archivo está diseñado para ser ejecutado directamente, de la misma manera que un programa o aplicación.

Ser capaz de ejecutar tus scripts y programas es una de las habilidades más importantes que debes tener como programador Python. En realidad ejecutar el código es la única forma de asegurarte que funciona como esperas. Además, para qué escribir código sino para ejecutarlo y que haga cosas por tí?

En este tutorial, aprenderás qué es un script o programa ejecutable en Python, cómo ejecutar scripts usando el comando python o el propio script como un comando. Finalmente, aprenderás que también es posible ejecutar tus scripts desde tu IDE o editor de texto favorito, lo cual es muy conveniente durante el proceso de desarrollo.

Scripts y programas en Python

En informática, el término script se emplea para designar un archivo que contiene una secuencia lógica de órdenes o comandos que un ordenador puede ejecutar. Con esto en mente, puedes definir un script Python como una secuencia de instrucciones escritas en este lenguaje y que se almacena en un archivo de texto plano. Este archivo está diseñado para ser ejecutado directamente por el usuario.

El término script también suele emplearse para designar archivos que contienen código interpretado. Es decir, código que require un intérprete que lo ejecute. Por ejemplo, los scripts que regularmente se emplean en sistemas Unix y que son escritos en lenguaje Bash u otro lenguaje shell.

Los scripts pueden categorizarse como programas ejecutables. La diferencia es que los scripts son más simples que los programas o aplicaciones. Generalmente, se encargan de tareas específicas y poco complejas. Por ejemplo, puedes tener scripts para renombrar archivos en tu disco duro, automatizar la descarga de archivos, actualizar tu sistema, u otras tareas similares.

En contraste, los programas suelen ser más complejos y tener muchas más funcionalidades. Un editor de texto, un navegador, un particionador de discos son todos ejemplos de programas o aplicaciones. En cualquier caso, si usas Python para crear proyectos complejos como estos, tendrás un script de entrada (entry-point script) que te permite ejecutar el programa en cuestión.

Ejecutar scripts con el comando python

Probablemente la manera más comúnmente empleada para ejecutar un script Python es usando el comando python desde la línea de comandos o terminal del sistema operativo. Antes de entrar en el comando específico, abre tu editor de texto favorito, crea un nuevo archivo .py y escribe el código siguiente en él:

print('Hola, Mundo!')

Este script es el típico programa "Hola, Mundo!" que generalmente escribes cuando comienzas a aprender un lenguaje de programación. Guarda el archivo en tu directorio de trabajo y asígnale el nombre script.py.

Abre una ventana de terminal en tu directorio de trabajo actual y ejecuta el siguiente comando:

$ python script.py
Hola, Mundo!

Inmediatamente después de presionar Enter, verás en pantalla la frase Hola, Mundo!. Con eso acabas de ejecutar tu primer script Python! Es muy probable que uses esta forma de ejecutar scripts a menudo en tu ciclo de desarrollo o incluso en tus tareas diarias.

En sistemas Windows, además del comando python, también puedes emplear el lanzador py desde PowerSell:

PS> py script.py
Hola, Mundo!

El lanzador py está disponible en todas las versiones de Python a partir de 3.3, así que no debes tener problemas para emplearlo.

Ejecutar scripts directamente como un comando

Si estas acostumbrado a crear scripts Python utilitarios para automatizar tareas repetitivas en tu entorno de trabajo, entonces es probable que desees simplificar el proceso de ejecución. En la mayoría de los casos sería más práctico ejecutar el script directamente como un comando independiente sin el auxilio del comando python.

En las secciones siguientes, aprenderás cómo preparar tus scripts Python para ejecución directa desde la terminal de tu sistema operativo.

En sistemas Unix

En sistemas Unix, como macOS y Linux, es posible ejecutar un script directamente desde la línea de comandos con unos pequeños arreglos. Primeramente, debes añadir un comentario especial a tu script justo en la primera línea:

#!/usr/bin/env python3

print('Hola, Mundo!')

Este comentario especial es conocido como shebang y lo puede incluir en tu código fuente para decirle al shell de tu sistema operativo dónde puede encontrar el intérprete requerido para ejecutar el código del archivo.

Para ejecutar un script Python que ya incluye el shebang apropiado, debes también asignarle permisos de ejecución con el siguiente comando:

$ chmod +x script.py

Con este comando, le asignas permisos de ejecución a tu script. Ahora estás listo para ejecutarlo directamente empleando el nombre del archivo en la terminal:

$ ./script.py
Hola, Mundo!

Listo! Tu script ahora funciona como si fuese un comando. Si deseas que tu script se parezca aún más a un comando estándar, puedes remover de su nombre la extensión .py. Adicionalmente, puedes añadir el directorio que contiene tu script en el PATH de tu sistema y lo tendrás disponible como un comando real desde cualquier directorio de trabajo.

En sistemas Windows

En sistemas Windows con Python instalado, puedes ejecutar un script directamente desde una ventana de PowerShell abierta en el directorio que contiene el script:

PS> .\script.py
Hola, Mundo!

Esta técnica funciona gracias a que Windows automáticamente asocia los archivos .py y .pyw con los programas python.exe y pythonw.exe, respectivamente.

Ejecutar scripts desde un IDE o editor de texto

Otra vía que puedes emplear para ejecutar tus scripts Python es usar un IDE (Integrated Development Environment, por sus siglas en inglés) como PyCharm o un editor de código avanzado, como puede ser Visual Studio Code.

Existe una amplia variedad de estos programas, muchos de ellos disponibles para las distintas plataformas (Windows, Linux, macOS) y que además, se pueden descargar libremente desde Internet.

El IDE por defecto incluido en cualquier instalación estándar de Python es IDLE y lo puedes emplear para escribir, ejecutar, depurar y modificar tus scripts.

Resumiendo

Ya sabes como correr o ejecutar scripts Python por diferentes vías y en diferentes plataformas. Ahora puedes ejecutar tus scripts desde la línea de comandos o terminal de tu sistema, ya sea usando el comando python o usando el script directamente como un programa ejecutable. También aprendiste que los IDEs y editor de código generalmente incluyen opciones para la ejecución de tus scripts y programas.