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

Claudio Freire klaussfreire en gmail.com
Jue Abr 24 13:17:28 ART 2014


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/


More information about the pyar mailing list