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-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. |