Reikalavimai: Python programavimas šiais laikais yra labai populiarus, plačiai naudojamas duomenų analizei ir moksliniams tyrimams, dideliems modeliams, giliam mokymuisi ir kt., Kai kurie modelių algoritmai yra parašyti python, reikia naudoti .NET python scenarijams vykdyti, parametrams perduoti ir rezultatams gauti. Internetiniai sprendimai yra šie: procesų vykdymas, IronPython, pythonnet ir galiausiai pythonnet.
pythonnet-Python.NET
Python.NET yra programinės įrangos paketas, leidžiantis Python programuotojams beveik sklandžiai integruoti .NET Universal Language Runtime (CLR) ir suteikti .NET kūrėjams galingus programų scenarijų kūrimo įrankius. Tai leidžia Python kodui sąveikauti su CLR ir taip pat gali būti naudojamas Python įterpti į .NET programas.
Adresas:Hipersaito prisijungimas matomas.
Paruoškite Python aplinką
Šiame straipsnyje naudojama python-3.13.2-embed-amd64 kaip veikianti aplinka, nuoroda:
Python-3.13.2 įterpimo paketas 64 bitų atsisiųsti:Hipersaito prisijungimas matomas.
Sukurkite naują .NET 8 konsolę
Sukurkite naują .NET 8 konsolės nuorodą su šia nuoroda:
Kadangi pythonnet naudosDvejetainis formatuotojasklasė, vykdymo metu bus taikoma ši išimtis:
Neapdorota išimtis. System.NotSupportedException: BinaryFormatter serializavimas ir deserializavimas šioje programoje yra išjungti. MatytiHipersaito prisijungimas matomas.Norėdami gauti daugiau informacijos. Norėdami išspręsti problemą, redaguokite .csproj mazgą <PropertyGroup> ir pridėkite šią konfigūraciją:
Visa konfigūracija yra tokia:
Py.GIL() yra svarbi Python.NET bibliotekos funkcija, skirta gauti ir išleisti visuotinius interpretatorių užraktus (GIL). GIL yra CPython interpretatoriaus mechanizmas, užtikrinantis, kad vienu metu Python baitų kodą vykdytų tik viena gija. Tai svarbu kelių gijų aplinkoje, ypač jei Python ir .NET kodas yra sumaišyti.
Python plūduriuojantis tipas iš tikrųjų yra dvigubo tikslumo plūduriuojantis (64 bitai), atitinkantis C# dvigubą tipą.
Vykdykite python kodą tiesiogiai
Paprastam python kodui, kurį galima vykdyti tiesiogiai, kodas yra toks:
Iškvieskite python funkciją
Kodas yra toks:
Diegti Linux aplinkoje testavimui
Galima normaliai veikti, testai yra šie:
Nuoroda:
Hipersaito prisijungimas matomas.
Hipersaito prisijungimas matomas.
Hipersaito prisijungimas matomas. |