manylinux for PyPy - archived
This repo is archived. Please use the official manylinux_ images instead
This image extends the official manylinux image by installing PyPy. For now,
the only supported platform is
At the moment of writing, this image provide the following versions of PyPy:
- PyPy2.7 7.3.4
- PyPy3.7 7.3.4
- PyPy3.6 7.3.3
- PyPy2.7 7.2.0
- PyPy3.6 7.2.0
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
All the following commands are equivalent and run the PyPy 2.7, version 7.3.4. You can use whatever fits best in your build system:
Similarly, these are the commands to run PyPy 3.7, version 7.3.4:
The paths for PyPy 7.3.3 Python 3.6 are completely analogous to the ones for 3.7.
PEP 425 Compatibility tags
pp36-pypy36_pp73 are the PEP 425 compliant
compatibility tag. In particular:
ppstands for PyPy (as opposed to
cpwhich is CPython)
37mean "Python 2.7|3.7"
pypy37_pp73(or before PyPy 7.3.0,
pypy3_71) are the binary ABI tags for the relevant version of PyPy. You can probably ignore them.
Before pip 20 and wheel 0.34, tags looked like
373 mean "Python [2|3]",
"PyPy 7.3.x". Pre-7.3.0 versions of PyPy do not support pip>=20, and thus
still rely on these old PyPy PEP 425 tags.