[pyar] ¿Existe algo asi como un "compilador" Python?

Roberto Alsina ralsina en netmanagers.com.ar
Jue Abr 24 13:19:36 ART 2014


On 24/04/14 13:17, Claudio Freire wrote:
> 2014-04-24 13:00 GMT-03:00 Ariel Palazzesi <arielpalazzesi en gmail.com>:
>> Con "grandes" me refiero a aplicaciones para la gestión de comercios o cosas
>> asi, con decenas o cientos de archivos .py, etc. Yo lo vehia casi como un
>> lenguaje para hacer pequeños scripts.
>>
>> Al ver que se utiliza en esos entornos, me surgio la duda de la compilacion
>> para optimizar la velocidad de ejecución y para proteger el código fuente.
> Python (casi todas las implementaciones) se compila a bytecode. Es
> posible distribuir sólo el bytecode, sin el código fuente, y va a
> correr (y de hecho acelera un poquito el startup porque evita tener
> que compilar la fuenta a bytecode).
>
> En términos de protección del código, sin embargo, el bytecode de
> python es sencillamente des-compilable. Se pueden obfuscar los
> identificadores internos durante la compilación a bytecode (hay
> herramientas para eso, que modifican lo que no hace a la interfaz,
> como variables locales), pero lo que se gana ahí es poco.
>
> Es raro que en gestión de comercios tengas código de performance
> realmente crítica - todo suele estar limitado por una base de datos o
> el input del usuario. Pero si lo tuvieras, tenés algunas opciones. Sin
> embargo, empaquetar algo que utilice eso te va a ser más complicado -
> lo más sencillo de empaquetar es código puramente python. Eso se hace
> sencillo con cx_freeze: http://cx-freeze.sourceforge.net/

Pero sacar el python de un exe de cx_freeze es una pavada.
En general tratar de esconder el código no es una actividad que tenga un 
gran beneficio, porque en la gran mayoría de los casos lo que quiere el 
"chorro" es usar el código, no leerlo.



More information about the pyar mailing list