Skip to content
Docker image for building PyPy manylinux wheels
Shell Python
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docker
.gitignore
.travis.yml
LICENSE
README.rst
build.sh

README.rst

manylinux for PyPy

https://travis-ci.org/pypy/manylinux.svg?branch=master

Docker image for building PyPy manylinux wheels.

This image extends the official manylinux image by installing PyPy. For now, the only supported platform is x86_64.

At the moment of writing, this image provide the following versions of PyPy:

  • PyPy2.7 7.3.0
  • PyPy3.6 7.3.0
  • PyPy2.7 7.2.0
  • PyPy3.6 7.2.0
  • PyPy2.7 7.1.1
  • PyPy3.6 7.1.1

Live example

pypy-manylinux-demo is an example project which demonstrate how to build CPython and PyPy wheels using Travis CI and this image. It is a fork of the official python-manylinux-demo, and shows that building wheels for PyPy is as easy as changing the image name!

How to run PyPy

The various PyPy versions are installed inside /opt/pypy/, and they are also symlinked to /opt/python. Moreover, each installation of PyPy contains also a python symlink.

All the following commands are equivalent and run the PyPy 2.7, version 7.3.0. You can use whatever fits best in your build system:

  • /opt/pypy/pypy2.7-7.3.0/bin/pypy
  • /opt/pypy/pypy2.7-7.3.0/bin/python
  • /opt/python/pp273-pypy_73/bin/pypy
  • /opt/python/pp273-pypy_73/bin/python

Similarly, these are the commands to run PyPy 3.6, version 7.3.0:

  • /opt/pypy/pypy3.6-7.3.0/bin/pypy
  • /opt/pypy/pypy3.6-7.3.0/bin/python
  • /opt/python/pp373-pypy36_pp73/bin/pypy
  • /opt/python/pp373-pypy36_pp73/bin/python

PEP 425 Compatibility tags

pp273-pypy_73 and pp373-pypy36_pp73 are the PEP 425 compliant compatibility tag. In particular:

  • pp stands for PyPy (as opposed to cp which is CPython)
  • 273 and 373 mean "Python [2|3]", "PyPy 7.3.x".
  • pypy_73 and pypy36_pp73 (or before PyPy 7.3.0, pypy_41 and pypy3_71) are the binary ABI tags for the relevant version of PyPy. You can probably ignore them.
You can’t perform that action at this time.