23rd Oct 2008
Compilar Python a ByteCode
La forma de correr un programa echo en python normalmente es como un script:
$ python programa.py
Pero existe la formar de obtener un ByteCode de python y obtener mejor rapidez en nuestras aplicaciones. Python está escrito en C, por lo que convertir un código de python a ByteCode resulta accesible, este ByteCode generado es puede ejecutarse gracias a CPython Interpreter.
La manera de hacerlo es la siguiente
1. Entramos al interprete de python.
$ python
2. Una vez dentro, importamos nuestro modulo a compilar
>>> import mimodulo
3. Ahora debemos importar una librería que nos permitirá compilar nuestro modulo ya importado
>>> import py_compile
4. Ejecutamos la función y compilamos.
>>> py_compile.compile("mimodulo.py")
5. Y listo. Ahora podemos correr nuestro programa ByteCode.
$ chmod +x mimodulo.pyc
$ ./mimodulo.pyc
Enlaces:
[...] el post anterior les mostré como generar un ByteCode de scripts de python en linux, pero para aquellos quienes [...]
Hola! Mi pregunta es si una vez compilado se siguen necesitando las bibliotecas usados en el script. Es decir si yo uso una biblioteca y compilo, el ordenador en el que ejecuto el código compilado necesita tener las bibliotecas instaladas?
Muchas gracias.
@Harry, buena pregunta, y lo lamentable del asunto es que si, es necesario tener las bibliotecas instaladas en el sistema, debido a que el código generado (Bytecode) no es meramente binario si no un intermedio entre este y el lenguaje python para acelerar la velocidad de procesamiento (como el .class de java). Espero haber resuelto tu duda.