Requisitos: Programação em Python é muito popular atualmente, amplamente usada em análise de dados e pesquisa científica, grandes modelos, deep learning, etc., alguns algoritmos de modelos são escritos em python, precisam usar .NET para executar scripts em python, passar parâmetros e obter resultados. As soluções online são: execução de processos, IronPython, pythonnet e, por fim, pythonnet.
pythonnet-Python.NET
Python.NET é um pacote de software que permite aos programadores Python integrar o .NET Universal Language Runtime (CLR) quase sem problemas e oferece aos desenvolvedores .NET ferramentas poderosas de script de aplicações. Ele permite que código Python interaja com o CLR e também pode ser usado para incorporar Python em aplicações .NET.
Endereço:O login do hiperlink está visível.
Preparar o ambiente Python
Este artigo usa python-3.13.2-embed-amd64 como ambiente de execução, referência:
Pacote embed Python-3.13.2 para download de 64 bits:O login do hiperlink está visível.
Crie um novo console .NET 8
Crie uma nova referência de console .NET 8 com a seguinte referência:
Já que pythonnet vai usarFormateador Binárioa seguinte exceção será lançada durante a execução:
Exceção não resolvida. System.NotSupportedException: A serialização e desserialização do BinaryFormatter estão desativadas nesta aplicação. VerO login do hiperlink está visível.Para mais informações. Para resolver o problema, edite o nó .csproj <PropertyGroup> e adicione a seguinte configuração:
A configuração completa é a seguinte:
Py.GIL() é uma função importante na biblioteca Python.NET para obter e liberar Bloqueios Globais de Interpretador (GILs). GIL é um mecanismo no interpretador CPython que garante que apenas uma thread esteja executando bytecode em Python ao mesmo tempo. Isso é importante em um ambiente multi-thread, especialmente se o código Python e .NET estiver misturado.
O tipo float de Python é, na verdade, um float de dupla precisão (64 bits), correspondente ao tipo duplo de C#.
Execute código em Python diretamente
Para código simples em Python, que pode ser executado diretamente, o código é o seguinte:
Chame uma função Python
O código é o seguinte:
Implantar no ambiente Linux para testes
Disponíveis para operação normal, os testes são os seguintes:
Referência:
O login do hiperlink está visível.
O login do hiperlink está visível.
O login do hiperlink está visível. |