Criar arquivos executáveis de Scripts Python com py2exe

introdução

executar scripts Python requer um monte de pré-requisitos como ter Python instalado, ter uma infinidade de módulos instalados, usando a linha de comandos, etc. ao executar um arquivo .exe é muito simples.

se você quiser criar uma aplicação simples e distribuí-la para muitos usuários, escrevendo-a como um script Python curto não é difícil, mas assume que os usuários sabem como executar o script e ter Python já instalado em sua máquina.

exemplos como este mostram que há uma razão válida para converter programas .py em programas equivalentes .exe programas no Windows. .exe significa “ficheiro executável”, que também é conhecido como binário.

a forma mais popular de conseguir isso é usando o módulo py2exe. Neste artigo, vamos rapidamente passar pelo básico de py2exe e resolver alguns problemas comuns. Para seguir adiante, não é necessário nenhum conhecimento avançado em Python, no entanto você terá que usar o Windows.

converter um código de linguagem interpretado em um arquivo executável é uma prática comumente chamada congelamento.

instalando py2exe

para usar o módulo py2exe, vamos precisar instalá-lo. Vamos fazê-lo com pip:

$ pip install py2exe

a converter o programa em Python .exe

Primeiro, vamos escrever um programa que vai imprimir alguns de texto para a consola:

import mathprint("Hannibal ante Portas")print(factorial(4))

Vamos executar os seguintes comandos na linha de comandos do Windows para tornar um diretório (exampDir), mova o código que já se escreveu no referido diretório, e, finalmente, executá-lo:

$ mkdir exampDir$ move example.py exampDir$ cd exampDir$ py example.py

Este deve de saída:

Hannibal ante Portas24

testa sempre os scripts antes de transformá-los em executáveis para se certificar de que, se houver um erro, ele não é causado pelo código fonte.

Setup and Configuration

Make another file called setup.py in the same folder. Aqui vamos manter detalhes de configuração sobre como queremos compilar o nosso programa. Vamos pôr umas linhas de código nisto por agora.:

from distutils.core import setup # Need this to handle modulesimport py2exe import math # We have to import all modules used in our programsetup(console=) # Calls setup function to indicate that we're dealing with a single console application

se estivéssemos lidando com um aplicativo com uma interface gráfica, substituiríamos console por windows assim:

setup(windows=)

Agora abra o Prompt de Comando como administrador e navegue para o diretório de nós mencionados, e executar o setup.py arquivo:

$ cd exampDir$ python setup.py py2exerunning py2exe*** searching for required modules ****** parsing results ***...

dist pasta

Se tudo for feito corretamente, isto deve produzir um subdiretório chamado dist. Dentro dele, haverá alguns arquivos diferentes dependendo do seu programa, e um deles deve ser example.exe. Para executá-lo a partir da execução da consola:

$ example

e você será saudado pela nossa citação em latim, seguido pelo valor de 4!:

Hannibal ante Portas24

ou, você pode clicar duas vezes e ele vai correr na consola.

se quiser agrupar todos os ficheiros, adicione bundle_files e compressed, e ajuste zipfile a nenhum dos ficheiros desta forma:

from distutils.core import setupimport py2exesetup( options = {'py2exe': {'bundle_files': 1, 'compressed': True}}, console = , zipfile = None,)

e Executar novamente os comandos para gerar o .ficheiro exe.

agora, seus usuários finais podem executar seus scripts sem qualquer conhecimento ou pré-requisitos instalados em suas máquinas locais.

solução de problemas

erros ao converter .py arquivos para .exe arquivos são comuns, então vamos listar alguns bugs e soluções comuns.

como corrigir DLL-s em falta depois de utilizar py2exe

falta um problema comum com py2exe .dll-S.

DLL significa “dynamic-link library”, e eles não estão lá apenas para fazer bugs, promessa. DLLs contêm código, dados e recursos que nosso programa pode precisar durante a execução.

Depois de executar o .exe, se você obter um erro do sistema que diz algo como:

The program can't start because something.dll is missing from your computer. Try reinstalling the program to fix this problem. 

Ou a linha de comando diz:

ImportError: (DLL load failed: The specified module could not be found.)

A solução é encontrar a falta de .dll e passado na sua pasta dist. Há duas formas de o fazer.

  1. procure no seu computador o ficheiro e copie-o. Isto vai funcionar a maior parte do tempo.
  2. encontra o .dll em falta e descarrega-o. Tente não baixá-lo de algum site obscuro.

como gerar executáveis de 32/64 bits usando o py2exe?

para fazer um executável de 64 bits, instale 64 bits Python no seu dispositivo. O mesmo se aplica à versão de 32 bits.

como usar o py2exe em Linux ou Mac

py2exe não suporta em Linux ou Mac, como pretende criar .ficheiros exe que é um formato único para o Windows. Você pode baixar uma máquina virtual Windows em Mac e Linux, usar vinho ou usar uma ferramenta diferente como Pyinstaller em Linux, ou py2app em Mac.

Conclusion

To make Python projects easy to run on Windows devices, we need to generate an executable file. Podemos usar muitas ferramentas diferentes, como Pyinstaller, auto-py-to-exe, cx_Freeze, e py2exe.

arquivos binários podem usar DLL-s, por isso certifique-se de incluí-los com o seu projeto.

Deixe uma resposta

O seu endereço de email não será publicado.

More: