Požiadavky: Programovanie v Pythone je dnes veľmi populárne, široko sa používa v analýze dát a vedeckom výskume, veľkých modeloch, hlbokom učení a podobne, niektoré modelové algoritmy sú napísané v pythone, je potrebné použiť .NET na vykonávanie python skriptov, prechod parametrov a získavanie výsledkov. Online riešenia sú: vykonávanie procesov, IronPython, pythonnet a nakoniec pythonnet.
pythonnet-Python.NET
Python.NET je softvérový balík, ktorý umožňuje programátorom v Pythone takmer bezproblémovo integrovať .NET Universal Language Runtime (CLR) a poskytuje vývojárom .NET výkonné nástroje na skriptovanie aplikácií. Umožňuje Python kódu interagovať s CLR a dá sa použiť aj na vloženie Pythonu do .NET aplikácií.
Adresa:Prihlásenie na hypertextový odkaz je viditeľné.
Pripravte Python prostredie
Tento článok používa python-3.13.2-embed-amd64 ako bežiace prostredie, referencia:
Python-3.13.2 embed balík 64-bit na stiahnutie:Prihlásenie na hypertextový odkaz je viditeľné.
Vytvorte novú .NET 8 konzolu
Vytvorte novú .NET 8 konzolovú referenciu s nasledujúcou referenciou:
Keďže pythonnet bude používaťBinaryFormattertrieda, počas vykonávania bude vyhodená nasledujúca výnimka:
Na vyriešenie problému upravte uzol .csproj <PropertyGroup> a pridajte nasledujúcu konfiguráciu:
Kompletná konfigurácia je nasledovná:
Py.GIL() je dôležitou funkciou v Python.NET knižnici na získavanie a uvoľňovanie Global Interpreter Locks (GIL). GIL je mechanizmus v interpreti CPython, ktorý zabezpečuje, že v jednom okamihu vykonáva iba jedno vlákno Python bajtkód. To je dôležité v prostredí s viacvláknami, najmä ak sú Python a .NET kód zmiešané.
Float typ v Pythone je v skutočnosti float s dvojitou presnosťou (64 bitov), čo zodpovedá dvojitému typu v C#.
Vykonávajte priamo python kód
Pre jednoduchý python kód, ktorý je možné vykonať priamo, je kód nasledovný:
Zavolajte python funkciu
Kód je nasledovný:
Nasadenie do prostredia Linux na testovanie
Testy sú dostupné pre bežnú prevádzku a sú nasledovné:
Referencia:
Prihlásenie na hypertextový odkaz je viditeľné.
Prihlásenie na hypertextový odkaz je viditeľné.
Prihlásenie na hypertextový odkaz je viditeľné. |