Hovedmenu
Devolutions-blog

Nyheder, opdateringer og indsigter fra Devolutions.

Devolutions PowerShell Universal running Python scripts illustration for the blog.

PowerShell Universal 4.2: kør Python-scripts i minimale miljøer

PowerShell Universal 4.2 tilføjer Minimal-miljøer, så du kan køre Python direkte, springe den mellemliggende PowerShell-proces over og genbruge det samme {scriptPath}-mønster til andre kommandolinjemotorer.

PowerShell Universal har historisk været en platform kun til PowerShell. Med udgivelsen af PowerShell Universal 4.2 tilføjer vi muligheden for at køre Python-scripts. Indlægget gennemgår, hvordan du gør det med et nightly build af 4.2.

Funktionaliteten udgives i november som en del af PowerShell Universal 4.2.

Minimale miljøer

PowerShell Universal 4.2 introducerer en ny indstilling for miljø, der kaldes Minimal. Minimale miljøer forsøger ikke at indlæse Universal-assemblies eller etablere en gRPC-forbindelse mellem underprocessen og den overordnede proces. Det lader PowerShell Universal køre i miljøer, der ikke er baseret på .NET. Minimale miljøer udnytter STDOUT og STDERR til at indsamle output fra den proces, der startes i miljøet. Det kan også være en hjælp til PowerShell-scripts, der indlæser moduler, som er i konflikt med Universal-assemblies.

Python-miljø

For at konfigurere et Python-miljø opretter du først et nyt miljø og sætter stien til python.exe. Det kræver, at Python er installeret på maskinen. Dernæst sætter du kommandolinjen til {scriptPath}. Værdien udvides til stien til det script, der køres, og sendes med ved kørsel.

Formular til PowerShell Universal-miljø med stien til python.exe og kommandolinjen scriptPath.
Sti og kommandolinje til Python-miljøet i PowerShell Universal

Det var teknisk muligt at køre Python-scripts i tidligere versioner af PowerShell Universal, men den nye miljøtype kører Python direkte i stedet for at starte en mellemliggende PowerShell-proces, der derefter kører Python. Det giver en meget hurtigere opstartstid for jobbene.

Kørsel af Python-scripts

Opret derefter et script med filendelsen .py. Vi har opdateret administrationskonsollen, så den korrekt genkender Python-scripts og fremhæver syntaksen rigtigt. Klik til sidst på Run, og vælg dit Python-miljø.

Joboutput i PowerShell Universal efter kørsel af et Python-script i et minimalt miljø.
Output fra Python-scriptet i administrationskonsollen i PowerShell Universal

Hvad er det næste for minimale miljøer og Python-integration?

Minimale miljøer lader dig køre den proces, du vil, fra scriptkørselsmotoren og sende scriptstien med som argument. Fordi vi erstatter makroen {scriptPath}, kan du også medtage andre argumenter. Det kan være nyttigt til andre scriptsprog, for eksempel bash på Linux. Minimale miljøer virker ikke med API’er, Apps eller Terminals. De funktioner kræver en gRPC-implementering, som ikke findes i de andre sprog og motorer. Vi håber at kunne offentliggøre vores gRPC-protofiler i tidsrummet for v5-udgivelsen. Det ville gøre det muligt at generere klienter, der kan køre i ethvert sprog, hvor gRPC og protobuf understøttes.

Klar til at bygge? Download PowerShell Universal.