Tharis Posted October 5, 2007 Report Share Posted October 5, 2007 Compilar .py para .pyc Quais as vantagens de .py para .pyc? Como compilar .py para .pyc? Vantagens - Distribuir um programa, mas não deixar ver o seu código; - É mais rápido a executar o programa, pois não tem de compilar primeiro. (Triton) Como compilar? Um Único Ficheiro import py_compile py_compile.compile("codigo.py") Nota: codigo.py é para substituir pela directoria + o nome do ficheiro para compilar. Todos os Ficheiros de Uma Directoria import compileall compileall.compile_dir("directoria", force=1) Nota: directoria é para substituir pela directoria dos ficheiros para compilar. Powered by PyTeam Artigo na wiki aqui http://wiki.portugal-a-programar.org/python:compilar_para_bytecode. Link to comment Share on other sites More sharing options...
Kratos Posted October 5, 2007 Report Share Posted October 5, 2007 🙂 Ou >> python -OO -c "import meuprograma" Onde "meuprograma" é seu Script Python, mas não precisa colocar a extenção.. Kra, seu eu disser que estou codando um programa exatamente sobre isso... ? .. Muita coincedência :nono1: Domingão eu posto !! Kratos "Vejo sempre além, pois me apóio em ombro de Gigantes" Link to comment Share on other sites More sharing options...
David Pintassilgo Posted October 5, 2007 Report Share Posted October 5, 2007 Baril! 🙂 Era isso mesmo que eu andava á procura aqui á tempos. cool stuffs to check. http://blog.zxcoders.com// Link to comment Share on other sites More sharing options...
pedrotuga Posted November 7, 2007 Report Share Posted November 7, 2007 em, desculpem estar a desenterrar este tópico, mas isto compila para bytecode. Ouvi dizer que dá para obter o código fonte novamente, o que eu acho muito estranho, se alguem tiver maisinformação sobre isso afixe aí que pessoalmente vejo aí pela internet mais contra-informação sobre este assundo do que propriamente informação confiável. Link to comment Share on other sites More sharing options...
djthyrax Posted November 7, 2007 Report Share Posted November 7, 2007 O código tal qual como o escreveste não consegues obter na totalidade, mas podes reconstruí-lo em Assembly, como em qualquer outra linguagem. Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum! Link to comment Share on other sites More sharing options...
pedrotuga Posted November 7, 2007 Report Share Posted November 7, 2007 Isso basta abrir um binário com um editor de hexadecimal, a passagem para assembly é trivial. Eu li por aí que se pode 'descompilar' o pyc para código fonte normal Link to comment Share on other sites More sharing options...
djthyrax Posted November 7, 2007 Report Share Posted November 7, 2007 Isso basta abrir um binário com um editor de hexadecimal, a passagem para assembly é trivial. Eu li por aí que se pode 'descompilar' o pyc para código fonte normal Não me parece... Mas nunca se sabe. 🙂 Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum! Link to comment Share on other sites More sharing options...
Triton Posted November 7, 2007 Report Share Posted November 7, 2007 Teoricamente é possível descompilar para código fonte compatível. <3 life Link to comment Share on other sites More sharing options...
Kratos Posted November 9, 2007 Report Share Posted November 9, 2007 ? .... Existem alguns métodos underground.. talves o mais simples e prático será usar o Decompyle URL: http://www.crazy-compilers.com/decompyle/ 😞 Kratos "Vejo sempre além, pois me apóio em ombro de Gigantes" Link to comment Share on other sites More sharing options...
fnds Posted March 10, 2008 Report Share Posted March 10, 2008 >> python -OO -c "import meuprograma" Aqui está o meu problema, como configuro o sistema para comseguir correr o script com optimização? Link to comment Share on other sites More sharing options...
pedrotuga Posted October 15, 2008 Report Share Posted October 15, 2008 Como isto está no wiki, vou aqui reabrir a discussão. Qual é o problema de escrever simplesmente import modulo.py ? Link to comment Share on other sites More sharing options...
fnds Posted October 16, 2008 Report Share Posted October 16, 2008 Para importares um modulo tens de escrever só o nome deste, sem extenção, se colocares a extenção o python vai porcurar pelo submoludo py. >>> import os >>> import os.py Traceback (most recent call last): File "<pyshell#1>", line 1, in <module> import os.py ImportError: No module named py >>> import os.pyc Traceback (most recent call last): File "<pyshell#2>", line 1, in <module> import os.pyc ImportError: No module named pyc Link to comment Share on other sites More sharing options...
pedrotuga Posted October 16, 2008 Report Share Posted October 16, 2008 pois eu sei, foi uma pequena gralha, nem me lembrei disso. Mas mantem-se a pergunta que gostava de discutir: não serão estes guias um pouco inconsequentes tendo em conta que basta importar um módulo para que este seja compilado? Link to comment Share on other sites More sharing options...
Tharis Posted October 16, 2008 Author Report Share Posted October 16, 2008 Pedrotuga, claro que podes fazer um import, mas agora imagina que tens uma pasta com 40 libs .py e não queres distribuir o código? Fazes 40 imports? 🙂 Link to comment Share on other sites More sharing options...
djthyrax Posted October 16, 2008 Report Share Posted October 16, 2008 não serão estes guias um pouco inconsequentes tendo em conta que basta importar um módulo para que este seja compilado? Tens um programa que vais distribuir em binário (usando um wrapper qualquer para o interpretador de Python), e queres ter tudo em bytecode para tornar as execuções mais rápidas. Vais importar modulo a módulo, ou vais incluir no teu script de packaging código para compilar todos os ficheiros em causa? 🙂 Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum! Link to comment Share on other sites More sharing options...
pedrotuga Posted October 16, 2008 Report Share Posted October 16, 2008 Mmmm... pois era o que eu desconfiava. Então assim sendo é gajo para merecer uma referencia no inicio como o método mais simples. Sintam-se à vontade para editar a página a vosso gosto, ou então posso editar isso eu. Link to comment Share on other sites More sharing options...
MasterGipy Posted November 29, 2009 Report Share Posted November 29, 2009 Desculpem o desenterro do tópico, mas não fiquei esclarecido sobre um assunto... É possível reaver o código de um ficheiro .pyc? Tentei usar este software: http://code.google.com/p/unpyc/ (mas sem sucesso) Se conhecerem outra forma melhor e gratuita... edit: Encontrei uma forma gratuita. Agora deparei-me com outro problema. É possível reaver o código de um script compilado com py2exe (Python 2.5)? Link to comment Share on other sites More sharing options...
fnds Posted December 2, 2009 Report Share Posted December 2, 2009 Desculpem o desenterro do tópico, mas não fiquei esclarecido sobre um assunto... edit: Encontrei uma forma gratuita. Agora deparei-me com outro problema. É possível reaver o código de um script compilado com py2exe (Python 2.5)? Qual?Sim é. Link to comment Share on other sites More sharing options...
MasterGipy Posted December 5, 2009 Report Share Posted December 5, 2009 Postei aqui: http://www.portugal-a-programar.pt/forums/topic/0-find-topic/?do=findComment&comment=298189 Já extrai os .pyc do .exe mas não consigo ver o seu codigo. Há alguma forma sem ser por uma página web como o http://www.depython.com Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now