Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 1683|Válasz: 4

[Forrás] A .NET/C# a Python környezetet hívja .py szkriptek végrehajtására

[Linket másol]
Közzétéve 2025-2-11 16:01:21 | | | |
Követelmények: A Python programozás manapság nagyon népszerű, széles körben használják adatelemzésben és tudományos kutatásban, nagy modellekben, mélytanulásban stb., néhány modellalgoritmus python nyelven íródott, ezért .NET segítségével kell futtatni python szkripteket, paraméterek átadását és eredményeket elérni. Az online megoldások: folyamatvégrehajtás, IronPython, pythonnet, és végül pythonnet.

pythonnet-Python.NET

Python.NET egy szoftvercsomag, amely lehetővé teszi a Python programozók számára, hogy szinte zökkenőmentesen integrálják a .NET Univerzális Nyelvi Futásidőt (CLR), és hatékony alkalmazásszkript-eszközöket biztosít a .NET fejlesztőknek. Lehetővé teszi a Python kód interakcióját a CLR-rel, és használható a Python beágyazására is.

Cím:A hiperlink bejelentkezés látható.

Készítsd elő a Python környezetet

Ez a cikk a python-3.13.2-embed-amd64 futó környezetet használja, hivatkozás:

Python beágyazású csomagok pip használatával telepítenek csomagokat
https://www.itsvse.com/thread-10941-1-1.html

Python-3.13.2 beágyazott csomag 64 bites letöltés:A hiperlink bejelentkezés látható.

Hozzon létre egy új .NET 8 konzolt

Hozz létre egy új .NET 8 konzol hivatkozást az alábbi hivatkozással:

Mivel a pythonnetBinaryFormatterosztály esetén a végrehajtás során a következő kivételt dobják el:

Kezeletlen kivétel. System.NotSupportedException: A BinaryFormatter serializáció és deserializáció le van tiltva ebben az alkalmazásban. LátA hiperlink bejelentkezés látható.További információért.

A probléma megoldásához szerkesztse a .csproj <PropertyGroup> csomópontot, és adja hozzá a következő konfigurációt:

A teljes konfiguráció a következő:

A Py.GIL() fontos funkció a Python.NET könyvtárban a globális értelmező zárak (GIL) beszerzésére és kiengedésére. A GIL egy mechanizmus a CPython értelmezőben, amely biztosítja, hogy egyszerre csak egy szál hajtson végre Python bájtkódot. Ez fontos egy többszálas környezetben, különösen, ha a Python és a .NET kód keveredik.

A Python lebegő típusa valójában egy dupla pontosságú lebegő (64 bit), amely megfelel a C# dupla típusának.

Execution kódot közvetlenül

Egyszerű python kód esetén, amely közvetlenül futtatható, a kód a következő:



Python függvény hívása

A kódex a következő:



Linux környezetbe telepítés teszteléshez

Normál működésre rendelkezésre álló tesztek a következők:



Utalás:
A hiperlink bejelentkezés látható.
A hiperlink bejelentkezés látható.
A hiperlink bejelentkezés látható.




Előző:A Linux pyenv segítségével telepíti a Python környezetet
Következő:Angular 18 Series (Thirty-One) VS Kódfejlesztési Segédplugin
 Háziúr| Közzétéve: 2025-2-11 16:08:17 |
Hívjunk egy python függvényt, amelynek lista tömbje (<osztály 'list'>) érvel.


A kódex a következő:


 Háziúr| Közzétéve: 2025-2-11 16:25:40 |
C# egy python függvényt hív, hogy megkapja a tuple <class 'tuple'> return értéket

A kódex a következő:



 Háziúr| Közzétéve 2025-2-24 09:27:40 |
CSnakes- Egy eszköz Python kód beágyazására .NET projektekbe

Forrás:A hiperlink bejelentkezés látható.
Dokumentáció:A hiperlink bejelentkezés látható.
 Háziúr| Közzétéve: 2025-9-1 16:01:12 |
Fordítás bytecode végrehajtásba

Utalás:A hiperlink bejelentkezés látható.
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com