Requisitos: La programación en Python es muy popular hoy en día, ampliamente utilizada en análisis de datos e investigación científica, grandes modelos, aprendizaje profundo, etc., algunos algoritmos de modelos están escritos en python, necesitan usar .NET para ejecutar scripts en python, pasar parámetros y obtener resultados. Las soluciones online son: ejecución de procesos, IronPython, pythonnet y, finalmente, pythonnet.
pythonnet-Python.NET
Python.NET es un paquete de software que permite a los programadores de Python integrar casi sin problemas el Universal Language Runtime (CLR) .NET y proporciona a los desarrolladores de .NET potentes herramientas de scripting de aplicaciones. Permite que el código Python interactúe con el CLR y también puede utilizarse para incrustar Python en aplicaciones .NET.
Dirección:El inicio de sesión del hipervínculo es visible.
Preparar el entorno Python
Este artículo utiliza python-3.13.2-embed-amd64 como entorno de ejecución, referencia:
Paquete embeded Python-3.13.2 descarga de 64 bits:El inicio de sesión del hipervínculo es visible.
Crea una nueva consola .NET 8
Crea una nueva referencia de consola .NET 8 con la siguiente referencia:
Ya que pythonnet usaráFormateador binarioClase, se lanzará la siguiente excepción durante la ejecución:
Para resolver el problema, edita el nodo .csproj <PropertyGroup> y añade la siguiente configuración:
La configuración completa es la siguiente:
Py.GIL() es una función importante en la biblioteca Python.NET para obtener y liberar bloqueos globales de intérprete (GILs). GIL es un mecanismo en el intérprete CPython que asegura que solo un hilo esté ejecutando bytecode en Python en cada momento. Esto es importante en un entorno multihilo, especialmente si se mezcla código Python y .NET.
El tipo de flotador de Python es en realidad un flotador de doble precisión (64 bits), correspondiente al doble tipo de C#.
Ejecutar código en Python directamente
Para el código simple en python, que puede ejecutarse directamente, el código es el siguiente:
Llama a una función de Python
El código es el siguiente:
Desplegar en entorno Linux para pruebas
Disponibles para funcionamiento normal, las pruebas son las siguientes:
Referencia:
El inicio de sesión del hipervínculo es visible.
El inicio de sesión del hipervínculo es visible.
El inicio de sesión del hipervínculo es visible. |