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