Cerințe: Programarea în Python este foarte populară în prezent, este folosită pe scară largă în analiza datelor și cercetare științifică, modele mari, deep learning etc., unii algoritmi de modele sunt scrise în python, trebuie să folosească .NET pentru a executa scripturi python, a transmite parametri și a obține rezultate. Soluțiile online sunt: execuția proceselor, IronPython, pythonnet și, în final, pythonnet.
pythonnet-Python.NET
Python.NET este un pachet software care permite programatorilor Python să integreze aproape fără întreruperi Universal Language Runtime (CLR) .NET și oferă dezvoltatorilor .NET instrumente puternice de scripting pentru aplicații. Permite codului Python să interacționeze cu CLR și poate fi folosit și pentru a integra Python în aplicații .NET.
Adresă:Autentificarea cu hyperlink este vizibilă.
Pregătește mediul Python
Acest articol folosește python-3.13.2-embed-amd64 ca mediu de rulare, referință:
Descărcare a pachetului embed Python-3.13.2 pe 64 de biți:Autentificarea cu hyperlink este vizibilă.
Creează o nouă consolă .NET 8
Creează o nouă referință pentru consolă .NET 8 cu următoarea referință:
Deoarece pythonnet va folosiFormator binarClasă, următoarea excepție va fi aruncată în timpul execuției:
Excepție nerezolvată. System.NotSupportedException: Serializarea și deserializarea BinaryFormatter sunt dezactivate în această aplicație. VedeaAutentificarea cu hyperlink este vizibilă.Pentru mai multe informații. Pentru a rezolva problema, editați nodul .csproj <PropertyGroup> și adăugați următoarea configurație:
Configurația completă este următoarea:
Py.GIL() este o funcție importantă în biblioteca Python.NET pentru obținerea și eliberarea Global Interpreter Locks (GILs). GIL este un mecanism în interpretul CPython care asigură că doar un singur fir de execuție execută bytecode Python la un moment dat. Acest lucru este important într-un mediu multi-threaded, mai ales dacă codul Python și .NET este amestecat.
Tipul float din Python este de fapt un float cu dublă precizie (64 de biți), corespunzător tipului dublu al lui C#.
Execută cod python direct
Pentru codul simplu Python, care poate fi executat direct, codul este următorul:
Apelează o funcție python
Codul este următorul:
Implementarea în mediul Linux pentru testare
Disponibile pentru funcționare normală, testele sunt următoarele:
Referință:
Autentificarea cu hyperlink este vizibilă.
Autentificarea cu hyperlink este vizibilă.
Autentificarea cu hyperlink este vizibilă. |