Manuais:Unimake.DFe/ComoConfigurarPythonComADLL
Índice
Como configurar o projeto Python para usar a DLL?
Instalando o Python e o pacote para uso do .NET
Antes de tudo, você deve instalar o Python na sua máquina utilizando as instruções disponibilizadas no site do Python.
Logo após a instalação do Python na máquina e com o seu projeto criado, você deve instalar o Pythonnet que é um pacote que permite a integração entre Python e .NET, permitindo que programas em Python possam acessar bibliotecas e objetos do .NET. Ele fornece um ambiente de interoperabilidade que permite chamar métodos .NET, acessar propriedades e manipular objetos .NET diretamente a partir de um script Python.
A instalação pode ser feita pelo link passado anteriormente ou pelo prompt de comando com a linha: pip install pythonnet.
Configurando o projeto para usar a DLL Unimake.DFe
Em nossos exemplos, criamos um método que configura a referência da DLL com o conteúdo abaixo:
import clr, os def inicializar_DLL(): # Obtém o caminho absoluto para a DLL especificada dll_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', 'DLLs', 'Unimake.Business.DFe.dll')) # Adiciona a referência à DLL para que ela possa ser usada clr.AddReference(dll_path) inicializar_DLL()
- Legenda:
- import:
- clr: é a biblioteca do Python que permite a interoperabilidade com o .NET Framework. Permite que você carregue e use bibliotecas .NET dentro do seu código Python;
- os: é um módulo padrão do Python que fornece várias funções para interagir com o sistema operacional, como manipulação de caminhos de arquivos.
- inicializar_DLL: define uma função que será responsável por carregar a DLL especificada;
- dll_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', 'DLLs', 'Unimake.Business.DFe.dll')):
- os.path.dirname(file): Obtém o diretório do arquivo Python atual. __file__ é uma variável especial que contém o caminho do script Python em execução.
- os.path.join(os.path.dirname(file), '..', 'DLLs', 'Unimake.Business.DFe.dll'): Constrói o caminho para a DLL relativa ao diretório do arquivo atual. os.path.join combina esses elementos de forma portátil, e o .. indica para subir um diretório.
- os.path.abspath(...): Converte o caminho resultante em um caminho absoluto, garantindo que ele seja correto independentemente do diretório de trabalho atual.
- clr.AddReference(dll_path):
- Adiciona a referência à DLL especificada para que seus tipos e métodos possam ser usados no código Python subsequente. clr.AddReference é o método usado para carregar a DLL do .NET no ambiente Python.
- inicializar_DLL():
- Chama a função inicializar_DLL para executar o processo de obtenção do caminho da DLL e adicionar a referência a ela. Isso garante que a DLL será carregada assim que o script for executado.
- import:
Como utilizar nos meus arquivos .py?
Basta você chamar a importação do nome do arquivo onde está o seu método inicializar_DLL():
from config_dll import inicializar_DLL