Zahteve: Programiranje v Pythonu je danes zelo priljubljeno, široko uporabljeno v analizi podatkov in znanstvenih raziskavah, velikih modelih, globokem učenju itd., nekateri algoritmi modelov so napisani v Pythonu, za izvajanje python skript, posredovanje parametrov in pridobivanje rezultatov je treba uporabiti .NET. Spletne rešitve so: izvajanje procesov, IronPython, pythonnet in nazadnje pythonnet.
pythonnet-Python.NET
Python.NET je programski paket, ki programerjem v Pythonu omogoča skoraj brezhibno integracijo .NET Universal Language Runtime (CLR) in razvijalcem .NET omogoča zmogljiva orodja za skriptiranje aplikacij. Omogoča interakcijo Python kode s CLR in se lahko uporablja tudi za vgradnjo Pythona v .NET aplikacije.
Naslov:Prijava do hiperpovezave je vidna.
Pripravite Python okolje
Ta članek uporablja python-3.13.2-embed-amd64 kot tekoče okolje, vir:
Python-3.13.2 paket za vgradnjo v 64-bitni prenos:Prijava do hiperpovezave je vidna.
Ustvarite novo .NET 8 konzolo
Ustvarite novo .NET 8 konzolno referenco z naslednjo referenco:
Ker bo pythonnet uporabljalBinaryFormatterrazred, bo med usmrtitvijo odvržena naslednja izjema:
Neobdelana izjema. System.NotSupportedException: BinaryFormatter serializacija in deserializacija sta v tej aplikaciji onemogočena. VidetiPrijava do hiperpovezave je vidna.za več informacij. Za rešitev problema uredite .csproj vozlišče <PropertyGroup> in dodajte naslednjo konfiguracijo:
Celotna konfiguracija je naslednja:
Py.GIL() je pomembna funkcija v Python.NET knjižnici za pridobivanje in sprostitev Global Interpreter Locks (GIL). GIL je mehanizem v interpreterju CPython, ki zagotavlja, da v vsakem trenutku izvaja Python bajtkodo le ena nit. To je pomembno v večnitnem okolju, še posebej, če sta Python in .NET koda pomešana.
Pythonov plavajoči tip je pravzaprav dvojno precizni float (64 bitov), kar ustreza C#-jevemu dvojnemu tipu.
Izvajanje python kode neposredno
Za preprosto python kodo, ki jo je mogoče izvesti neposredno, je koda naslednja:
Pokliči python funkcijo
Koda je naslednja:
Namestitev v Linux okolje za testiranje
Testi so na voljo za normalno delovanje, naslednji:
Referenčni:
Prijava do hiperpovezave je vidna.
Prijava do hiperpovezave je vidna.
Prijava do hiperpovezave je vidna. |