• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

PYPT

[Python] py para exe - py2exe

27 mensagens neste tópico

Este script transforma qualquer script em Python para um executável para Windows

from distutils.core import setup
import py2exe, sys, os

modulos = [sys.argv[1]]
sys.argv[1]="py2exe"

opcoes = {}
opcoes['py2exe'] = {}
opcoes['py2exe']['excludes'] = ["pywin", "pywin.debugger", "pywin.debugger.dbgcon", "pywin.dialogs", "pywin.dialogs.list"]
opcoes['py2exe']['packages'] = ["encodings"]

descricao = 'Programa'
versao = '1.0'

setup(name=descricao, console=modulos, zipfile="lib/shared.zip", description=descricao, version=versao)

Grave o código acima em um arquivo .py qualquer de sua preferência (setup.py, make.py, etc.), alterando a linha que define os módulos que fazem parte do seu programa. Depois, execute-o assim:

python setup.py seuprograma.py

Onde "setup.py" deve ser substituído pelo nome que você deu ao seu compilador e seuprograma.py pelo que você quer transformar em executável.

O arquivo .EXE será salvo na pasta DIST.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Uma coisa, esse executável depois não vai precisar do interpretador?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Uma coisa, esse executável depois não vai precisar do interpretador?

Não necessita pois este executavel é feito para pessoas que não tenham instalado no pc o interpretador de python.

:P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Esclarece-me só uma coisa:

alterando a linha que define os módulos que fazem parte do seu programa.

Isto é para adicionar aqui:

opcoes['py2exe']['excludes'] = ["pywin", "pywin.debugger", "pywin.debugger.dbgcon", "pywin.dialogs", "pywin.dialogs.list"]

as cenas que usamos no programa a converter, certo?

Uma pergunta que pode parecer descabida:

Assim sendo, não seria ideal ter ai já tudo e mais alguma coisa possivel?

edit:

Outra coisa,.. dá-me um erro no modulo py2exe

raceback (most recent call last):
 File "compilar_win.py", line 2, in <module>
   import py2exe, sys, os
ImportError: No module named py2exe

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso é porque não tens o módulo instalado d_pintassilgo. E, isto é Windows only acho eu. :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Então mas eu não posso criar o exe em linux para os outro usarem em win????

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ele estava a falar em gerar, não em usar.

Resumindo:

Não é possível com este script "PY2EXE" transformar scripts Python para Windows em Linux, por duas razões:

opcoes = {}

opcoes['py2exe'] = {}

opcoes['py2exe']['excludes'] = ["pywin", "pywin.debugger", "pywin.debugger.dbgcon", "pywin.dialogs", "pywin.dialogs.list"]

opcoes['py2exe']['packages'] = ["encodings"]

e

Toda estrutura de Linux diferente de Windows.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ok,.. então não serve para o que quero. Pensei que em linux pude-se criar o exe par acorrer depois em win.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Grave o código acima em um arquivo .py qualquer de sua preferência (setup.py, make.py, etc.), alterando a linha que define os módulos que fazem parte do seu programa.

Tipo, já tentei usar isto dum site brazuca em Win e deu-me sempre erro!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Grave o código acima em um arquivo .py qualquer de sua preferência (setup.py, make.py, etc.), alterando a linha que define os módulos que fazem parte do seu programa.

Tipo, já tentei usar isto dum site brazuca em Win e deu-me sempre erro!

http://www.py2exe.org/ tens que instalar isto 1º.
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

david, é capaz de não dar para gerar isto no windows. Isto importa o pacote sys, provavelmente usa rotinas especificas para sistemas operativos diferentes.

Mas podes sempre experimentar.

Por acaso tenho aqui um ficheiro .py que precisava que alguem me compilasse para um .exe... alguem?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Por acaso tenho aqui um ficheiro .py que precisava que alguem me compilasse para um .exe... alguem?

Para isso é impreterivelmente necessário usar Windows? Eu não posso agarrar no meu .py file usar uma cena qq e criar um exe e fica prontinho a usar em win ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Por acaso tenho aqui um ficheiro .py que precisava que alguem me compilasse para um .exe... alguem?

Para isso é impreterivelmente necessário usar Windows? Eu não posso agarrar no meu .py file usar uma cena qq e criar um exe e fica prontinho a usar em win ?

Não sei. Teria que analisar o código fonte do módulo sys e do py2exe a um nivel superior ao meu conhecimento do funcionamento do interpretador de python.

É provavel que não, mas não tenho a certeza.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu não estou a falar em relação ao py2exe em especial,... estou a falar a nivel geral,... não há nada que fassa isso?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas,

Como posso remover a consola que fica com o programa executável (depois de "compilar")?

Abraços,

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas,

Como posso remover a consola que fica com o programa executável (depois de "compilar")?

Abraços,

muda o nome do ficheiro fonte para pyw e depois compila.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

muda o nome do ficheiro fonte para pyw e depois compila.

Já o fiz. Não resulta também...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Faz sem o python.

Se percebi bem, escrever na consola

<compilador>.py <file>.py

, certo? Se sim, também não resulta.. a janela aparece sempre ao abrir o programa compilado.

Abraços,

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

<compilador>.py <file>.pyw

Também não funciona.. começo a pensar se será ou não de algum módulo que tenha no programa... vou colocá-lo na secção de armazém de código. É o WOL.

Abraços,

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

da pa gerar o exe em qq plataforma. claro k so pode ser aberto em win. mais uma nota, para k alguem inicie o prog sem o decompilador instalado tem-se de incluir o python25.dll

ja agr, da pa meter um icone no executavel?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Este tópico causou mais confusão do que ajudou.

Está melhor explicado no site oficial do py2exe, o código para criar um executavel é bem mais simples do que o afixado na primeira linha.

Outra coisa que não é preciso é preocuparem-se com .dll's, o py2exe poe na mesma pasta tudo o que é necessario para distribuir o programa.

Se tiverem o python correctamnte instalado no windows e pagarem num script python cuja extenção é .pyw, de maneira nenhuma abre uma consola. Agor claro.. se forem à consola e escreverem:

python meuscript.pyw

é óbvio que esta nao se vai fechar por obra e graça do espirito santo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ja agora ja alguém experimentou usar o psyco sobre py2exe que me possa dar algum feedback em relação a possíveis ou nao melhoras no tempo de execução dos programas em python...?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora