MAIN MENU
Blog de Devolutions

Anuncios, actualizaciones y análisis de Devolutions.

Devolutions PowerShell Universal running Python scripts illustration for the blog.

PowerShell Universal 4.2: ejecutar scripts de Python en entornos Minimal

PowerShell Universal 4.2 añade entornos Minimal para ejecutar Python de forma directa, omitir el proceso intermedio de PowerShell y reutilizar el mismo patrón {scriptPath} con otros motores de línea de comandos.

PowerShell Universal ha sido históricamente una plataforma solo para PowerShell. Con el lanzamiento de PowerShell Universal 4.2, añadiremos la posibilidad de ejecutar scripts de Python. Esta entrada explica cómo hacerlo con una compilación nightly de 4.2.

Esta funcionalidad se publicará en noviembre como parte de PowerShell Universal 4.2.

Entornos Minimal

PowerShell Universal 4.2 introduce un nuevo ajuste de entorno denominado Minimal. Los entornos Minimal no intentan cargar ensamblados de Universal ni establecer una conexión gRPC entre el proceso hijo y el proceso padre. Así, PowerShell Universal puede ejecutarse en entornos que no se basan en .NET. Los entornos Minimal aprovechan STDOUT y STDERR para recoger la salida del proceso iniciado en el entorno. También resulta útil para scripts de PowerShell que cargan módulos en conflicto con los ensamblados de Universal.

Entorno Python

Para configurar un entorno Python, cree primero un entorno nuevo y establezca la ruta a python.exe. Es necesario que Python esté instalado en el equipo. A continuación, defina la línea de comandos como {scriptPath}. Este valor se expande a la ruta del script que se ejecuta y se pasa en tiempo de ejecución.

PowerShell Universal environment form with python.exe path and scriptPath command line.
Ruta y línea de comandos del entorno Python en PowerShell Universal

Aunque ya era técnicamente posible ejecutar scripts de Python en versiones anteriores de PowerShell Universal, este nuevo tipo de entorno ejecuta Python de forma directa, sin iniciar un proceso intermedio de PowerShell que luego lance Python. El resultado es un arranque mucho más rápido de estos trabajos.

Ejecutar scripts de Python

A continuación, cree un script con extensión .py. Hemos actualizado la consola de administración para identificar correctamente los scripts de Python y aplicarles resaltado de sintaxis. Por último, pulse Run y seleccione su entorno Python.

PowerShell Universal job output after running a Python script in a minimal environment.
Salida de un script de Python en la consola de administración de PowerShell Universal

¿Qué sigue para los entornos Minimal y la integración de Python?

Los entornos Minimal permiten ejecutar el proceso que desee desde el motor de ejecución de scripts y pasar la ruta del script como argumento. Como sustituimos la macro {scriptPath}, también puede incluir otros argumentos. Esto puede ser útil para otros lenguajes de script, como bash en Linux. Los entornos Minimal no funcionan con APIs, Apps ni Terminals. Esas funciones requieren una implementación gRPC que no está disponible en esos otros lenguajes y motores. Esperamos publicar nuestros archivos proto de gRPC en el plazo de la versión v5. Eso permitiría generar clientes en cualquier lenguaje donde gRPC y protobuf estén admitidos.

¿Listo para crear? Descargue PowerShell Universal.