Skip to content
This repository has been archived by the owner on Mar 15, 2022. It is now read-only.

pypy/manylinux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

manylinux for PyPy - archived

Note

This repo is archived. Please use the official manylinux_ images instead

Older info

image

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.4
  • PyPy3.7 7.3.4
  • PyPy3.6 7.3.3
  • PyPy2.7 7.2.0
  • PyPy3.6 7.2.0

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.4. You can use whatever fits best in your build system:

  • /opt/pypy/pypy2.7-7.3.4/bin/pypy
  • /opt/pypy/pypy2.7-7.3.4/bin/python
  • /opt/python/pp27-pypy_73/bin/pypy
  • /opt/python/pp27-pypy_73/bin/python

Similarly, these are the commands to run PyPy 3.7, version 7.3.4:

  • /opt/pypy/pypy3.7-7.3.4/bin/pypy
  • /opt/pypy/pypy3.7-7.3.4/bin/python
  • /opt/python/pp37-pypy37_pp73/bin/pypy
  • /opt/python/pp37-pypy37_pp73/bin/python

The paths for PyPy 7.3.3 Python 3.6 are completely analogous to the ones for 3.7.

PEP 425 Compatibility tags

pp27-pypy_73 and pp36-pypy36_pp73 are the PEP 425 compliant compatibility tag. In particular:

  • pp stands for PyPy (as opposed to cp which is CPython)
  • 27 and 37 mean "Python 2.7|3.7"
  • pypy_73 and pypy37_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.

Before pip 20 and wheel 0.34, tags looked like pp273-pypy_73 or pp373-pypy36_pp73, where 273 and 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.

About

Docker image for building PyPy manylinux wheels

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published