Skip to content

Instantly share code, notes, and snippets.

@notmyname
Created April 5, 2016 22:26
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save notmyname/dfe1746f710a3674bb453bb812eb89a9 to your computer and use it in GitHub Desktop.
Save notmyname/dfe1746f710a3674bb453bb812eb89a9 to your computer and use it in GitHub Desktop.
1) Build PyPy binary
/usr/bin/python rpython/bin/rpython -Ojit pypy/goal/targetpypystandalone.py WARNING: this build takes 50 min on my Haswell system.
2) Build and install any non-compatible C extension modules
As of Kilo, 11/2015, only two modules were found not compatible with PyPy: netifaces
_xattr
For Ubuntu 14.04 LTS server, download the following version-matching source packages netifaces-0.10.4.tgz
xattr-0.6.4.tgz
Build netifaces for PyPy e.g.
cd /home/swift/python/netifaces-0.10.4
/home/swift/pypy-4.0.1-src/pypy-c setup.py build
This will build ./build/lib.linux-x86_64-2.7/netifaces.pypy-26.so
Note: if you see any errors such as: Traceback (most recent call last):
File "setup.py", line 1, in <module> import setuptools
ImportError: No module named setuptools
Get setuptools installed for this PyPy: https://pypi.python.org/pypi/setuptools wget https://bootstrap.pypa.io/ez_setup.py
/home/swift/pypy-4.0.1-src/pypy-c ez_setup.py
This will place it under /home/swift/pypy-4.0.1-src/site-packages/setuptools- 19.2-py2.7.egg
Install netifaces for PyPy /home/swift/pypy-4.0.1-src/pypy-c setup.py install
This will install the *.egg files to the pypy directory, which tells pypy-c where to find the module at run time /home/swift/pypy-4.0.1-src/site-packages/netifaces-0.10.4- py2.7-linux-x86_64.egg
Similarly
cd /home/swift/python/xattr-0.6.4 /home/swift/pypy-4.0.1-src/pypy-c setup.py build
This will build . /build/lib.linux-x86_64-2.7/xattr/_xattr.pypy-26.so
/home/swift/pypy-4.0.1-src/pypy-c setup.py install
This will install the *.egg files to the pypy directory, which tells pypy-c where to find the module
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment