Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 1683|Risposta: 4

[Fonte] .NET/C# chiama l'ambiente Python per eseguire .py script

[Copiato link]
Pubblicato il 11-2-2025 16:01:21 | | | |
Requisiti: La programmazione in Python è molto popolare oggi, ampiamente utilizzata nell'analisi dei dati e nella ricerca scientifica, nei grandi modelli, nel deep learning, ecc., alcuni algoritmi di modello sono scritti in python, devono usare .NET per eseguire script in python, passare parametri e ottenere risultati. Le soluzioni online sono: esecuzione dei processi, IronPython, pythonnet e infine pythonnet.

pythonnet-Python.NET

Python.NET è un pacchetto software che consente ai programmatori Python di integrare quasi senza soluzione di continuità il .NET Universal Language Runtime (CLR) e fornisce agli sviluppatori .NET potenti strumenti di scripting applicativo. Permette al codice Python di interagire con il CLR e può anche essere utilizzato per incorporare Python nelle applicazioni .NET.

Indirizzo:Il login del link ipertestuale è visibile.

Prepara l'ambiente Python

Questo articolo utilizza python-3.13.2-embed-amd64 come ambiente di esecuzione, riferimento:

I pacchetti embedded di Python installano pacchetti usando pip
https://www.itsvse.com/thread-10941-1-1.html

Python-3.13.2 incedendo package 64-bit download:Il login del link ipertestuale è visibile.

Crea una nuova console .NET 8

Crea un nuovo riferimento per la console .NET 8 con il seguente riferimento:

Poiché pythonnet useràFormattore binarioclasse, la seguente eccezione verrà lanciata durante l'esecuzione:

Eccezione non risolta. System.NotSupportedException: La serializzazione e la deserializzazione BinaryFormatter sono disabilitate all'interno di questa applicazione. VedereIl login del link ipertestuale è visibile.Per maggiori informazioni.

Per risolvere il problema, modifica il nodo .csproj <PropertyGroup> e aggiungi la seguente configurazione:

La configurazione completa è la seguente:

Py.GIL() è una funzione importante nella libreria Python.NET per ottenere e rilasciare Global Interpreter Locks (GIL). GIL è un meccanismo nell'interprete CPython che garantisce che solo un thread stia eseguendo bytecode Python alla volta. Questo è importante in un ambiente multi-thread, specialmente se il codice Python e .NET è mescolato.

Il tipo float di Python è in realtà un float a doppia precisione (64 bit), corrispondente al doppio tipo di C#.

Esegui codice python direttamente

Per il codice python semplice, che può essere eseguito direttamente, il codice è il seguente:



Chiama una funzione python

Il codice è il seguente:



Distribuzione su un ambiente Linux per i test

Disponibili per il normale funzionamento, i test sono i seguenti:



Riferimento:
Il login del link ipertestuale è visibile.
Il login del link ipertestuale è visibile.
Il login del link ipertestuale è visibile.




Precedente:Linux utilizza pyenv per installare l'ambiente Python
Prossimo:Plugin di assistenza allo sviluppo di codice VS Angular 18 Series (Thirty-One)
 Padrone di casa| Pubblicato il 11-2-2025 16:08:17 |
Chiamare una funzione Python con un array di lista (<classe 'list'>) come argomento


Il codice è il seguente:


 Padrone di casa| Pubblicato il 11-2-2025 16:25:40 |
C# chiama una funzione python per ottenere il valore di restituzione della tupla <classe 'tuple'>

Il codice è il seguente:



 Padrone di casa| Pubblicato il 24-2-2025 09:27:40 |
CSnakes- Uno strumento per incorporare codice Python in progetti .NET

Fonte:Il login del link ipertestuale è visibile.
Documentazione:Il login del link ipertestuale è visibile.
 Padrone di casa| Pubblicato il 2025-9-1 16:01:12 |
Compilazione in esecuzione in bytecode

Riferimento:Il login del link ipertestuale è visibile.
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com