Manuais:Unimake.DFe/ComoConfigurarPythonComADLL

De unimake
Revisão de 16h44min de 16 de julho de 2024 por Wesley (discussão | contribs) (Criou página com '__NOTITLE__ =<font color=#008000>'''Como configurar o projeto Python para usar a DLL?'''</font>= ==<font color=#008000>'''Instalando o Python e o pacote para uso do .NET'''</...')
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para: navegação, pesquisa

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.

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

Veja também