Krav: Python-programmering er meget populært i dag, bredt anvendt i dataanalyse og videnskabelig forskning, store modeller, deep learning osv., nogle modelalgoritmer er skrevet i python, de skal bruge .NET til at køre python-scripts, overføre parametre og opnå resultater. De online løsninger er: procesudførelse, IronPython, pythonnet og endelig pythonnet.
pythonnet-Python.NET
Python.NET er en softwarepakke, der gør det muligt for Python-programmører at integrere .NET Universal Language Runtime (CLR) næsten problemfrit og giver .NET-udviklere kraftfulde applikationsscriptingværktøjer. Det gør det muligt for Python-kode at interagere med CLR og kan også bruges til at indlejre Python i .NET-applikationer.
Adresse:Hyperlink-login er synlig.
Forbered Python-miljøet
Denne artikel bruger python-3.13.2-embed-amd64 som kørende miljø, reference:
Python-3.13.2 indlejringspakke 64-bit download:Hyperlink-login er synlig.
Opret en ny .NET 8-konsol
Opret en ny .NET 8-konsolreference med følgende reference:
Da pythonnet vil brugeBinærFormatterenklasse vil følgende undtagelse blive kastet under udførelsen:
Ubehandlet undtagelse. System.NotSupportedException: Binær Formatter-serialisering og deserialisering er deaktiveret i denne applikation. SeHyperlink-login er synlig.For mere information. For at løse problemet redigerer du .csproj-noden <PropertyGroup> og tilføjer følgende konfiguration:
Den komplette konfiguration er som følger:
Py.GIL() er en vigtig funktion i Python.NET-biblioteket til at opnå og frigive Global Interpreter Locks (GILs). GIL er en mekanisme i CPython-fortolkeren, der sikrer, at kun én tråd eksekverer Python-bytekode ad gangen. Dette er vigtigt i et multitrådet miljø, især hvis Python og .NET-kode blandes sammen.
Pythons float-type er faktisk en double-precision float (64 bit), svarende til C#'s dobbelttype.
Udfør python-kode direkte
For simpel python-kode, som kan udføres direkte, er koden som følger:
Kald en python-funktion
Koden er som følger:
Udrul til Linux-miljøet til test
Til normal drift er testene som følger:
Henvisning:
Hyperlink-login er synlig.
Hyperlink-login er synlig.
Hyperlink-login er synlig. |