Krav: Python-programmering er veldig populært i dag, mye brukt i dataanalyse og vitenskapelig forskning, store modeller, dyp læring osv., noen modellalgoritmer er skrevet i Python, krever at man bruker .NET for å kjøre python-skript, sende parametere og oppnå resultater. De nettbaserte løsningene er: prosessutførelse, IronPython, pythonnet, og til slutt pythonnet.
pythonnet-Python.NET
Python.NET er en programvarepakke som gjør det mulig for Python-programmerere å integrere .NET Universal Language Runtime (CLR) nesten sømløst, og gir .NET-utviklere kraftige applikasjonsskriptverktøy. Det gjør at Python-kode kan samhandle med CLR og kan også brukes til å integrere Python i .NET-applikasjoner.
Adresse:Innloggingen med hyperkoblingen er synlig.
Forbered Python-miljøet
Denne artikkelen bruker python-3.13.2-embed-amd64 som kjøremiljø, referanse:
Python-3.13.2 innebygd pakke 64-bits nedlasting:Innloggingen med hyperkoblingen er synlig.
Lag en ny .NET 8-konsoll
Opprett en ny .NET 8-konsollreferanse med følgende referanse:
Siden pythonnet vil brukeBinærFormatterklasse, vil følgende unntak bli kastet under utførelsen:
For å løse problemet, rediger .csproj-noden <PropertyGroup> og legg til følgende konfigurasjon:
Den komplette konfigurasjonen er som følger:
Py.GIL() er en viktig funksjon i Python.NET-biblioteket for å skaffe og frigjøre Global Interpreter Locks (GILs). GIL er en mekanisme i CPython-tolken som sikrer at kun én tråd kjører Python-bytekode om gangen. Dette er viktig i et flertrådet miljø, spesielt hvis Python og .NET-kode blandes sammen.
Pythons float-type er faktisk en double-precision float (64 biter), tilsvarende C#s double type.
Kjør python-kode direkte
For enkel python-kode, som kan kjøres direkte, er koden som følger:
Kall en python-funksjon
Koden er som følger:
Distribuer til Linux-miljøet for testing
Tilgjengelige for normal drift, er testene som følger:
Referanse:
Innloggingen med hyperkoblingen er synlig.
Innloggingen med hyperkoblingen er synlig.
Innloggingen med hyperkoblingen er synlig. |