quarta-feira, 3 de outubro de 2012

Python - Gerar Executável .exe com cx_Freeze

Olá pessoal, nesse post iremos aprender a gerar um executável no Windows para programas feitos em Python utilizando o programa cx_Freeze.

Primeiramente clique aqui para baixar o programa cx_Freeze. Veja que na página tem várias opções de download, você tem que escolher a opção certa para a sua versão do Python.


Como saber a sua versão do Python? É só ir no Prompt de Comando (cmd), digitar python e teclar Enter. Vai aparecer algo parecido com a imagem abaixo:

 

Na página do cx_Freeze tem várias versões para você baixar de acordo com a sua versão do python e do seu sistema operacional windows (32 ou 64 bit) , no meu caso eu fiz o download da versão Python 3.2 para 32 bit.

Depois que fazer o download, é só instalar, a instalação é rápida e não há dificuldades.

Agora que você já tem o cx_Freeze instalado, já podemos gerar o nosso executável a partir de um arquivo .py. Primeiramente iremos criar o nosso arquivo .py, um código simples imprimindo algo na tela, veja:


Irei salvar o arquivo como "teste.py" na Área de Trabalho (Desktop).

Agora iremos criar outro arquivo chamado "setup.py", veja o código dele:


Desconsidere a linha 1, pois é apenas um comentário. Veja que você pode mudar o nome, a versão, colocar uma descrição. Em Executable coloque o nome correto do arquivo .py. No nosso caso queremos gerar o executável do "teste.py".

Salvamos o arquivo "setup.py" também na Área de Trabalho que é onde colocamos o "teste.py".

Agora abra o Prompt de Comando (cmd). Navegue até onde estão os arquivos (Área de Trabalho) e digite o seguinte comando: python setup.py build


Será gerada uma pasta na Área de Trabalho chamada "build". Dentro dessa pasta existirá outra pasta que dentro dela conterá o arquivo "teste.exe" assim como outros arquivos como mostra a imagem abaixo:


Não basta somente carregar o arquivo .exe, você precisará da dll (que no meu caso possui o nome python32.dll) e o arquivo library.zip para executar corretamente o arquivo "teste.exe". Esses arquivos encontram-se na pasta que foi gerada. No caso do nosso exemplo, levando esses três arquivos, o programa será executado em qualquer máquina com Windows, até naquelas que não possuem o python instalado.

Você pode utilizar esses arquivos para gerar um instalador com o programa NSIS.

Então é isso pessoal, quaisquer dúvidas deixem nos comentários. Até a próxima!


6 comentários:

Emerson Lara disse...

Muito obrigado, cara!!
Salvou a vida.
Já que o py2exe não funciona no Python 3.x, não estava achando uma solução até ler seu artigo.

Parabéns e obrigado novamente!

Marcio Luis Siqueira disse...

Não consigo fazer funcionar com programa gráfico ex:
from gi.repository import Gtk
Quando executo em outra máquina dá erro aos montes :(

Marcos Castro disse...

Olá amigo, pode ser que ajude: https://mail.gnome.org/archives/gtk-list/2014-March/msg00024.html

Marcio Luis Siqueira disse...

Obrigado pela resposta Marcos! Resolvi meu problema copiando toda a pasta do Python na pasta do meu script, depois criei um instalador usando o 'Inno Setup'; Ficou ótimo!

Marcos Castro disse...

Opa, muito bom cara :)

Emerson Lara disse...

Para aqueles que precisarem, tenho um tutorial aqui tb para o Python 3:
http://python3-dicas.blogspot.com.br/2015/07/criando-um-executavel-exe.html

Esse blog tem muitas outras dicas sobre Python.