Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 1683|Atsakyti: 4

[Šaltinis] .NET/C# iškviečia Python aplinką, kad vykdytų .py scenarijus

[Kopijuoti nuorodą]
Publikuota: 2025-2-11 16:01:21 | | | |
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 įterpti paketus įdiegti paketus naudojant pip
https://www.itsvse.com/thread-10941-1-1.html

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.




Ankstesnis:"Linux" naudoja pyenv, kad įdiegtų Python aplinką
Kitą:"Angular 18" serijos (trisdešimt vienas) VS kodo kūrimo pagalbos papildinys
 Savininkas| Publikuota: 2025-2-11 16:08:17 |
Iškvieskite python funkciją su sąrašo masyvu (<klasė 'list'>) kaip argumentą


Kodas yra toks:


 Savininkas| Publikuota: 2025-2-11 16:25:40 |
C# iškviečia python funkciją, kad gautų tuple <class 'tuple'> grąžinamąją reikšmę

Kodas yra toks:



 Savininkas| Publikuota: 2025-2-24 09:27:40 |
CSnakes- Įrankis Python kodo įterpimui į .NET projektus

Šaltinis:Hipersaito prisijungimas matomas.
Dokumentacija:Hipersaito prisijungimas matomas.
 Savininkas| Publikuota: 2025-9-1 16:01:12 |
Kompiliuoti į baitų kodo vykdymą

Nuoroda:Hipersaito prisijungimas matomas.
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com