Primeros pasos en Pypy


Pypy es una rápida y potente alternativa de implementación de Python 2.7.1+, la cuál nos ofrece variadas ventajas y caracteristicas que la diferencian de otras impelentaciones.

Velocidad: Gracias a su Just-in-time compilador, los programas en Python suelen correr más rápido en Pypy. JIT: En informática, la compilación en tiempo de ejecución (también conocida por sus siglas inglesas, JIT, just-in-time), también conocida como traducción dinámica, es una técnica para mejorar el rendimiento de sistemas de programación que compilan a bytecode, consistente en traducir el bytecode a código máquina nativo en tiempo de ejecución. La compilación en tiempo de ejecución se construye a partir de dos ideas anteriores relacionadas con los entornos de ejecución: la compilación a bytecode y la compilación dinámica. Más información aquí.
Uso de memoria: Gran consumo de memoria de programas Python podría terminar tomando menos espacio que lo hacen en CPython.
Compatibilidad: Pypy es altamente compatible con el código existente Python. Es compatible y puede funcionar bibliotecas ctypes populares de Python como Django.
Sandboxing: Pypy ofrece la posibilidad de ejecutar código no firmado de forma totalmente segura.
Stackless: Pypy puede ser configurado para ejecutarse en el modo de Stackless, proporcionando micro-temas de concurrencia masiva.

Comenzamos con la instalación.
Primero debemos reparar nuestra máquina instalando las siguientes librerias:

En Fedora

$ sudo yum install gcc make python-devel libffi-devel pkg-config zlib-devel bzip2-devel ncurses-devel expat-devel openssl-devel gc-devel python-sphinx python-greenlet

En Ubuntu

$ sudo apt-get install gcc make python-dev libffi-dev pkg-config libz-dev libbz2-dev libncurses-dev libexpat1-dev libssl-dev libgc-dev python-sphinx python-greenlet

Luego instalamos pypy. Esto podemos realizarlo desde el sitio web aquí

o con los gestores de paquetes de Unix:

En Fedora

$ sudo yum install pypy pypy-devel pypy-libs

y en Ubuntu

$sudo apt-get install pypy pypy-dev

Si descargamos el de forma manual hacemos lo siguiente:

Descomoprimimos el archivo

$ tar -xvf pypy1.7 pypy1.7.tar.bz2

Lo movemos a la carpeta que corresponde

$ sudo mv pypy1.7 /opt/

Y por último creamos un enlace simbolico para que pueda utilizarse en nuestro bash

$ sudo ln -s /opt/pypy-1.7/bin/pypy /usr/local/bin/pypy

Y con esto ya está listo para utilizar!

[pablo@tuidee ~$] pypy

En mi caso tuve problemas con el versionado de algunas librerías, ya que al momento de ejecutar con comando pypy en la terminal me arrojaba el siguiente error:

[pablo@tuidee ~$] pypy
pypy: error while loading shared libraries: libssl.so.0.9.8: cannot open shared object file: No such file or directory
pypy: error while loading shared libraries: libcrypto.so.0.9.8: cannot open shared object file: No such file or directory
pypy: error while loading shared libraries: libbz2.so.1.0: cannot open shared object file: No such file or directory

Esto lo solucioné de la siguiente forma:
En Fedora 32 bit

$ sudo ln -s /usr/lib/libssl.so.10 /usr/lib/libssl.so.0.9.8
$ sudo ln -s /usr/lib/libcrypto.so /usr/lib/libcrypto.so.0.9.8
$ sudo ln -s /usr/lib/libbz2.so /usr/lib/libbz2.so.1.0

En fedora 64 bits

$ sudo ln -s /usr/lib64/libssl.so.10 /usr/lib64/libssl.so.0.9.8
$ sudo ln -s /usr/lib64/libcrypto.so /usr/lib64/libcrypto.so.0.9.8
$ sudo ln -s /usr/lib64/libbz2.so /usr/lib64/libbz2.so.1.0

En Ubuntu se puede realizar a través del gestor de paquetes::

$ sudo apt-get install libssl0.9.8:i386

ya conocen el resto de los comandos necesarios para solucionarlo.

Recuerden verificar la versión de las librerias que necesitan, ya que pueden variar.

Y porsupuesto visiten la página web oficial de Pypy aquí.

Saludos y pronto continuaré con un pequeño ejemplo de utilización.

Agregar un comentario

Su dirección de correo no se hará público. Los campos requeridos están marcados *