Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 1683|Atbildi: 4

[Avots] .NET/C# izsauc Python vidi, lai izpildītu .py skriptus

[Kopēt saiti]
Publicēts 2025-2-11 16:01:21 | | | |
Prasības: Python programmēšana mūsdienās ir ļoti populāra, plaši izmantota datu analīzē un zinātniskajos pētījumos, lielos modeļos, dziļajā mācībās utt., Daži modeļu algoritmi ir rakstīti python, ir jāizmanto .NET, lai izpildītu python skriptus, nodotu parametrus un iegūtu rezultātus. Tiešsaistes risinājumi ir: procesu izpilde, IronPython, pythonnet un visbeidzot pythonnet.

pythonnet-Python.NET

Python.NET ir programmatūras pakotne, kas ļauj Python programmētājiem gandrīz nemanāmi integrēt .NET Universal Language Runtime (CLR) un nodrošina .NET izstrādātājiem jaudīgus lietojumprogrammu skriptēšanas rīkus. Tas ļauj Python kodam mijiedarboties ar CLR, un to var izmantot arī, lai iegultu Python .NET lietojumprogrammās.

Adrese:Hipersaites pieteikšanās ir redzama.

Sagatavojiet Python vidi

Šajā rakstā tiek izmantots python-3.13.2-embed-amd64 kā darbības vide, atsauce:

Python iegult pakotnes instalē pakotnes, izmantojot pip
https://www.itsvse.com/thread-10941-1-1.html

Python-3.13.2 iegulšanas pakotnes 64 bitu lejupielāde:Hipersaites pieteikšanās ir redzama.

Jaunas .NET 8 konsoles izveide

Izveidojiet jaunu .NET 8 konsoles atsauci ar šādu atsauci:

Tā kā pythonnet izmantosBinārais formatētājsklase, izpildes laikā tiks izmests šāds izņēmums:

Neapstrādāts izņēmums. System.NotSupportedException: BinaryFormatter serializācija un deserializācija šajā lietojumprogrammā ir atspējota. RedzētHipersaites pieteikšanās ir redzama.lai iegūtu vairāk informācijas.

Lai atrisinātu problēmu, rediģējiet .csproj mezglu <PropertyGroup> un pievienojiet šādu konfigurāciju:

Pilnīga konfigurācija ir šāda:

Py.GIL() ir svarīga funkcija Python.NET bibliotēkā, lai iegūtu un atbrīvotu globālās tulku slēdzenes (GIL). GIL ir CPython tulka mehānisms, kas nodrošina, ka tikai viens pavediens izpilda Python baitu kodu vienlaikus. Tas ir svarīgi vairāku pavedienu vidē, it īpaši, ja Python un .NET kods ir sajaukts kopā.

Python pludiņa tips faktiski ir dubultās precizitātes pludiņš (64 biti), kas atbilst C# dubultajam tipam.

Izpildiet python kodu tieši

Vienkāršam python kodam, ko var izpildīt tieši, kods ir šāds:



Izsauciet python funkciju

Kods ir šāds:



Izvietojiet Linux vidē testēšanai

Pieejami normālai darbībai, testi ir šādi:



Atsauce:
Hipersaites pieteikšanās ir redzama.
Hipersaites pieteikšanās ir redzama.
Hipersaites pieteikšanās ir redzama.




Iepriekšējo:Linux izmanto pyenv, lai instalētu Python vidi
Nākamo:Angular 18 sērija (trīsdesmit viens) VS koda izstrādes palīdzības spraudnis
 Saimnieks| Publicēts 2025-2-11 16:08:17 |
Izsauciet python funkciju ar saraksta masīvu (<klase 'list'>) kā argumentu


Kods ir šāds:


 Saimnieks| Publicēts 2025-2-11 16:25:40 |
C# izsauc python funkciju, lai iegūtu atgriezto vērtību <klase 'tuple'>

Kods ir šāds:



 Saimnieks| Publicēts 2025-2-24 09:27:40 |
CSnakes- Rīks Python koda iegulšanai .NET projektos

Avots:Hipersaites pieteikšanās ir redzama.
Dokumentācija:Hipersaites pieteikšanās ir redzama.
 Saimnieks| Publicēts 2025-9-1 16:01:12 |
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com