Exigences : La programmation en Python est très populaire aujourd’hui, largement utilisée dans l’analyse de données et la recherche scientifique, les grands modèles, l’apprentissage profond, etc. Certains algorithmes de modèles sont écrits en python, nécessitent utiliser .NET pour exécuter des scripts Python, passer des paramètres et obtenir des résultats. Les solutions en ligne sont : exécution de processus, IronPython, pythonnet, et enfin pythonnet.
pythonnet-Python.NET
Python.NET est un logiciel qui permet aux programmeurs Python d’intégrer presque sans interruption le .NET Universal Language Runtime (CLR) et offre aux développeurs .NET des outils puissants de script applicatif. Il permet au code Python d’interagir avec le CLR et peut également être utilisé pour intégrer du Python dans des applications .NET.
Adresse:La connexion hyperlientérée est visible.
Préparer l’environnement Python
Cet article utilise python-3.13.2-embed-amd64 comme environnement d’exécution, référence :
Téléchargement du package embed Python-3.13.2 64 bits :La connexion hyperlientérée est visible.
Créer une nouvelle console .NET 8
Créez une nouvelle référence console .NET 8 avec la référence suivante :
Puisque pythonnet utiliseraFormateur binaireclasse, l’exception suivante sera lancée lors de l’exécution :
Exception non traitée. System.NotSupportedException : La sérialisation et la désérialisation BinaryFormatter sont désactivées dans cette application. VoirLa connexion hyperlientérée est visible.Pour plus d’informations. Pour résoudre le problème, modifiez le nœud .csproj <PropertyGroup> et ajoutez la configuration suivante :
La configuration complète est la suivante :
Py.GIL() est une fonction importante dans la bibliothèque Python.NET pour obtenir et publier les verrous d’interprétation globale (GIL). GIL est un mécanisme dans l’interpréteur CPython qui garantit qu’un seul thread exécute un bytecode Python à la fois. C’est important dans un environnement multithread, surtout si le code Python et .NET est mélangé.
Le type float de Python est en réalité un float double précision (64 bits), correspondant au double type de C#.
Exécutez du code python directement
Pour le code python simple, qui peut être exécuté directement, le code est le suivant :
Appeler une fonction python
Le code est le suivant :
Déploiement dans l’environnement Linux pour les tests
Disponibles pour un fonctionnement normal, les tests sont les suivants :
Référence:
La connexion hyperlientérée est visible.
La connexion hyperlientérée est visible.
La connexion hyperlientérée est visible. |