Criando programas executáveis com Python

Quando comecei a programar em Python, o maior problema que eu tinha era o facto de não poder criar programas executáveis com Python, para mostrar as pessoas que não tinham e nem queriam ter o interpretador instalado na sua maquina. Como sabemos, o interpretador de Python não cria programas executáveis, mas sim scripts que são interpretados em tempo de execução, logo para poder rodar programas Python o utilizador precisa ter o interpretador instalado na sua máquina. Até optei por usar o PHP e MySQL para um trabalho profissional que podia muito bem ter feito com Python e SQLite, o que seria muito mais interessante.Mas agora descobri um método de fazer com que os programas Python rodem numa máquina mesmo que não tenha o Python instalado. Este processo passa por usar o pacote py2exe para fazer uma busca dos recursos necessários para que a sua aplicação rode e criar um pacote capaz de ser executado em qualquer outra máquina. Neste artigo vamos ver um pequeno tutorial mostrando como usar o py2exe para criar versões executáveis de seus scripts Python.Para usar os recursos deste tutorial, primeiro precisará ter alguns conhecimentos sobre Python e como rodar programas Python a partir da linha de comando do Windows.

Instalando o py2exe

O py2exe possui um instalador, pelo que não será dificil instalar ele na sua máquina. Tenha o cuidado de baixar a versão certa do py2exe para a versão do Python que estiver usando. Aqui no INFOmoz poderá encontrar o py2exe para download, na secção de downloads, ou clicando no ícone no final deste artigo.Existem alguns passos simples a seguir, depois de intalar o py2exe para criar executáveis para seus programas Python:

  1. Criar/ testar o seu programa
  2. Criar o seu script de instalação (setup.py)
  3. Executar o seu script de instação
  4. Testar o seu programa executável
  5. Criar um instalador para o seu programa, se quiser.

Criando/ testando o seu programa

O maior passo ao criar um programa executável em Python é sempre o primeiro. A boa notícia é que para este primeiro passo não precisaremos usar nada do py2exe. Quase tudo que você cria com Python funcionará com Python. Algumas vezes, o modulos externos poderão trazer algumas complicações.Antes de usar o py2exe certifique-se de que tudo está funcionando correctamente na sua aplicação. Se você tentar usar o py2exe com um programa não perfeitamente profissional poderá se dar mal!Para dar um exemplo simples, vamos criar um programa que não requer módulos externos, ou seja, o bom e velho Hello World! Aqui está ele:

print "Hello World!"#Arquivo:programa.py

Teremos de ter a certeza que o programa funciona executando ele a partir da linha de comando( como dito acima, você precisa saber como fazer isso. Mas se não sabe, aqui está o comando, assumindo que o seu programa está gravado em C:/teste):

C:\teste>python programa.py Hello WorldC:\teste>

Funcionou!!!

Criando o seu script de instalação(setup.py)

py2exe deriva do pacote Distutils com um novo “comando”. Se você alguma vez instalou um modulo externo de Python, provavelmente já usou um comando do pacote distutils:

C:\teste>python setup.py install

“install” é im comando do pacote distutils que instala algo(Tipicamente um módulo ou pacote Python). Os detalhes que o pacote distutils precisa para esta instalação estão contidos no arquivo setup.py ou num outro arquivo associado.”py2exe” é um novo comando do pacote Distutils, que é adicionado quando você importa o py2exe. Para usar o py2exe você terá de criar um arquivo setup.py para dizer ao distutils e ao py2exe o que você realmente quer fazer. Aqui está um arquivo setup.py simples, mas que é suficiente para o nosso programa exemplo:

from distutils.core import setupimport py2exesetup(console=['hello.py'])#Arquivo:setup.py

Veja que este é um script genérico do Python. Mas vamos mostrar linha a linha o que ele faz:1. Quando estamos trabalhando com o py2exe, a única função do pacote Distutils que precisaremos referenciar directamente é a funçaõ setup. Então isto é tudo o que importaremos do pacote distutils.2. Depois de carregar o pacote distutils( ou as funções necessárias), precisaremos importar o py2exe, para poder adicionar os seus comandos.3. Um espaço em branco é sempre bom!4. Por último invocamos o setup e informamos a ele que precisamos de uma aplicação do tipo console e que a entrada principal para a nossa aplicação é o arquivo programa.py

Executando o script de instalação

O próximo passo é executar o script que acabamos de criar usando a linha de comando do Windows. Você verá de seguida um monte de saidas parecidas com estas que são mostradas abaixo.

C:\teste>python setup.py py2exe running py2exe *** searching for required modules *** *** parsing results *** creating python loader for extension 'zlib' creating python loader for extension 'unicodedata' creating python loader for extension 'bz2' *** finding dlls needed *** *** create binaries *** *** byte compile python files *** byte-compiling C:\Tutorial\build\bdist.win32\winexe\temp\bz2.py to bz2.pyc byte-compiling C:\Tutorial\build\bdist.win32\winexe\temp\unicodedata.py to unicodedata.pyc byte-compiling C:\Tutorial\build\bdist.win32\winexe\temp\zlib.py to zlib.pyc skipping byte-compilation of c:\Python24\lib\StringIO.py to StringIO.pyc[skipping many lines for brevity]skipping byte-compilation of c:\Python24\lib\warnings.py to warnings.pyc *** copy extensions *** *** copy dlls *** copying c:\Python24\lib\site-packages\py2exe\run.exe -> C:\Tutorial\dist\hello.exe*** binary dependencies *** Your executable(s) also depend on these dlls which are not included, you may or may not need to distribute them.Make sure you have the license if you distribute any of them, and make sure you don't distribute files belonging to the operating system.ADVAPI32.dll - C:\WINDOWS\system32\ADVAPI32.dll USER32.dll - C:\WINDOWS\system32\USER32.dll SHELL32.dll - C:\WINDOWS\system32\SHELL32.dll KERNEL32.dll - C:\WINDOWS\system32\KERNEL32.dllC:\teste>

Dois diretórios serão criados depois de executar o script: build e dist. O diretório build é usado pelo script como uma área de trabalho enquanto o executável é criado, logo, pode ser removido logo que o script terminar. Os arquivos no diretório dist são os arquivos que são necessários para que o seu programa possa ser executado sem precisar do interpretador.

Testando o seu executável

Agora que o pacote foi criado, você pode testar o seu executável usando a linha de comando ou dando duplo clique sobre o arquivo programa.exe criado:

C:\teste>cd distC:\teste\dist>hello.exe Hello World

Excelente, funcionou!!!Criando instaladores para a sua nova aplicaçãoPy2exe não cria instaladores. Tudo o que o py2exe faz é juntar os arquivo necessários para executar programas Python. Como pode ter visto, o diretório distutils contém vários arquivos, outro até estranhos para um utilizador comum do Windows. Então uma boa forma de tornar o seu programa mais profissional, é usando um criador de instaladores para personalizar a instalação da sua aplicação na máquina do utilizador.Para fazer isso você pode usar um monte de criadores de instaladores existentes, mas o que eu mais aconselho é o Create Instaler Free, que como o próprio nome diz é gratuito e está disponível para download aqui no INFOmoz. Já agora que tal subscrever ao nosso RSS Feed e receber atualizações diárias do site? Pode também subscrever para receber as atualizações no seu email usando o formulário na lateral deste blog.Faça o download do Py2exe My new template for phpdug (1 download) Faça o download do Create Installer Free [Download não encontrado.]

Receba nossas actualizações por email

Ver Campanhas anteriores.

(Visited 439 times, 1 visits today)
Share