/portable-pypy

Portable 32 and 64 bit x86 PyPy binaries for many Linux distributions.

Primary LanguageShell

Portable PyPy distribution for Linux

This repository contains efforts to build 32 and 64 bit x86 PyPy binaries for various Linux distrubtions. The idea is that you just download an archive, uncompress it and run it instantly without installing any extra libraries or tweaking your OS. Currenly they are known to work across various DEB and RPM based distributions including RHEL/Centos 5 and later, Ubuntu and Debian stable. It should run on any distribution that includes GLIBC 2.3 and kernel 2.6.19 or later.

Latest Python 2.7 release

PyPy 4.0.1 x86_64

PyPy 4.0.1 i686

Latest Python 3.2 release

PyPy3 2.4 x86_64

PyPy3 2.4 i686

PyPy3 2.3.1 x86_64

PyPy3 2.3.1 i686

All downloads can be found here

Using virtualenv

For versions 2.3 and newer you can use stock virtualenv that comes from your distribution or that you installed with PIP etc. Just pass -p path-to-portable-pypy/bin/pypy on the commandline.

For your convenience this build also includes packaged virtualenv so you don't have to install one if you haven't done it yet:

portable-pypy/bin/virtualenv-pypy my-environment

In this case you dont have to add -p switch as it defaults to pypy binary located in the build.

Stock virtualenv didn't work with portable binaries prior to version 2.3 that included RPATH entries in pypy binary. For these versions it's obligatory to use virtualenv-pypy that fixes this problem.

Included software

Besides PyPy there is OpenSSL, SQLite3, libffi, expat, TCL/TK and virtualenv packaged in these builds.

How it is done

Binaries are built with a CentOS 5 base image with help of docker. That ensures that they are built against version of GLIBC that is reasonably old not to cause problems with symbol versioning. All the dependencies are also built inside chroot from latest stable tarballs. They are packed together with PyPy into one distribution and RPATH entries are inserted into them (this ensures that they can be found relatively to each other).

If you want to build it yourself checkout instructions inside BUILD.rst.