segunda-feira, 13 de julho de 2015

Criando um executável (.exe)

Olá pessoas.


Desculpem a demora, mas o final de semestre na faculdade estava me bloqueando.

Vou tentar tirar o atraso (no sentido não figurado) agora nas férias escolares.

Pois bem. Todo mundo quer criar um programa e sair espalhando por aí entre os amiguinhos, não é verdade?

Mas os amiguinhos não querem, de maneira geral, instalar o Python pra poder executar o código (muitos até querem mas não fazem ideia do que é isso, pois o poder de luta deles é menor que o do Chaos e do Oolong)



Então, como fazer pra fazer? MUITO SIMPLES: Criamos um executável!!!

Sim, senhor escrevedor desse blog. Mas como faço isso?

Acalme-se, jovem leitor! Aqui vai a explicação:

Existe uma ferramenta chamada CX_FREEZE que faz isso pra você. Faça o download adequado para a versão de Python que você está utilizando, instale e... voilà!

Depois de instalado, você precisa criar um arquivo de nome setup.py que deve ser armazenado na mesma pasta onde está o arquivo .py que você deseja transformar em .exe.
Vamos cirar um hello_world.py:

print("Hello World\n")


O arquivo setup.py deve ser:

from cx_Freeze import setup, Executable

setup(
    name="Hello World EXECUTABLE",
    version = "1.0.0",
    description = ".py to .exe",
    executables = [Executable("hello_world.py")])


Ôpa! Mas senhor escrevedor desse blog! Eu executei esse código e nada aconteceu!!!

Já disse pra se acalmar, jovem leitor! Não execute esse código!

Você precisa fazer o que se segue:

  1. Abra um prompt do MS-DOS (cmd)
  2. Acesse o local do arquivo setup.py
  3. execute a linha de comando python setup.py build

Agora sim está pronto o seu hello_world.exe!!!
Note que será criada uma pasta build dentro da pasta onde está o seu código. Dentro desta pasta tem uma outra pasta contendo todos os arquivos necessários para a execução do seu programa.

—IMPORTANTE—

Quando for enviar aos seus coleguinhas o seu programa, não envie apenas o executável (*.exe). Ele precisa de todos aqueles outros arquivos dentro da pasta build para ser executado, portanto, compacte a pasta e diga para seus coleguinhas extraírem tudo para que o seu programa funcione.

E não se esqueça: 13 de julho é o quê, Torloni???



25 comentários:

  1. Até eu que sou noob consegui criar um executável :)

    ResponderExcluir
    Respostas
    1. Você é mais que expert, +Adriano Pereira. Obrigado por acompanhar o blog.

      Excluir
  2. Ficou fera, mas e o java? ta manjando? heuaheuhaeuah

    ResponderExcluir
  3. Este comentário foi removido pelo autor.

    ResponderExcluir
  4. +Kaio Fernandes.
    Deixa eu ver se entendi.
    Você tentou criar o executável e deu erro, certo?
    Verifique a forma que você importou as bibliotecas utilizadas no seu código. Se você colocou direto no PATH pode dar erro.
    Veja se a versão de Python que você utiliza é compatível à versão do cx_freeze que você está utilizando.

    ResponderExcluir
  5. teu blog é humilde mais tem potencial! ja esta nos meus favoritos =D

    #javaitarde foi foda huauhauhahuauha

    ResponderExcluir
  6. Nos ensina a colocar o script online em um BOT do app TELEGRAM ?

    ResponderExcluir
  7. Fiz tudo certinho, mas na hora de executar a linha de comando...:

    ImportError: No module named 'cx_Freeze.util'

    =FF

    ResponderExcluir
    Respostas
    1. consegui. quem tiver o mesmo problema, atualize o cx_Freezer através do comando :python -m pip install cx_Freeze --upgrade

      Excluir
  8. muito bom, mas bom mesmo. Na medida que o Python sai nova release, seria interessante usar o cx_Freeze atualizado tambem. Mas tá muito bom

    ResponderExcluir
    Respostas
    1. Que bom que gostou, meu chapa!
      Se tiver alguma dúvida e/ou sugestão de posts, por favor nos diga.

      Excluir
  9. consegui fazer o exe, mas não estou conseguindo abrir.

    ResponderExcluir
    Respostas
    1. Tente abrir o executável (exe) no prompt de comandos (cmd).
      Assim você verá o erro que está sendo gerado.

      Excluir
  10. Consegui criar o exe, porem ele não esta compilando uma biblioteca, como faço? Falta compilar a biblioteca mymssql

    ResponderExcluir
    Respostas
    1. Cara... Se você está tentando executar o programa em outro computador, você tem que copiar a pasta toda que o cx_freeze cria.
      Dentro dela vão juntas todas as bibliotecas necessárias pro seu programa rodar.
      Mas se não for esse o caso, temos que analisar melhor o problema. Se tiver como mandar um print screen ou copiar a mensagem de erro.

      Excluir
  11. Hello guys!!! consgui fazer o .exe e tals...mas quando rodo o programa fica com o prompt aberto, tem como com o cx_Freese fazer com que o programa fique invisível??... sei que que com o pyinstaller é possível, por exemplo, digito pyinstaller -w nome_do_arquivo!!

    ResponderExcluir
  12. Este comentário foi removido pelo autor.

    ResponderExcluir