Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 1683|Răspunde: 4

[Sursă] .NET/C# apelează mediul Python pentru a executa scripturi .py

[Copiază linkul]
Postat la 2025-2-11 16:01:21 | | | |
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ță:

Pachetele Python Embed instalează pachete folosind pip
https://www.itsvse.com/thread-10941-1-1.html

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




Precedent:Linux folosește pyenv pentru a instala mediul Python
Următor:Seria Angular 18 (Treizeci și unu) plugin de asistență pentru dezvoltarea codului VS
 Proprietarul| Postat la 2025-2-11 16:08:17 |
Apelăm o funcție python cu un array de listă (<clasa 'list'>) ca argument


Codul este următorul:


 Proprietarul| Postat la 2025-2-11 16:25:40 |
C# apelează o funcție python pentru a obține valoarea de returnare a tuple-ului <clasa 'tuple'>

Codul este următorul:



 Proprietarul| Postat la 2025-2-24 09:27:40 |
CSnakes- Un instrument pentru integrarea codului Python în proiecte .NET

Sursă:Autentificarea cu hyperlink este vizibilă.
Documentație:Autentificarea cu hyperlink este vizibilă.
 Proprietarul| Postat la 2025-9-1 16:01:12 |
Compilare în execuție în bytecode

Referință:Autentificarea cu hyperlink este vizibilă.
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com