piwheels is a Python package repository providing ARM platform wheels (pre-compiled binary Python packages) specifically for the Raspberry Pi. Packages are natively compiled on Raspberry Pi 3 hardware using the Mythic Beasts Pi cloud.
Raspbian Stretch includes configuration for pip to use piwheels by default. If you're using an alternate distribution (or an older version of Raspbian), you can use piwheels by placing the following lines in etc/pip.conf:
That's it! With this simple configuration change, pip should now search piwheels for built distributions of packages and use them in preference to building from source. You can test this out by creating a virtual environment and attempting to install numpy which usually involves a fairly lengthy compilation:
$ sudo apt install virtualenv python3-virtualenv -y $ virtualenv -p /usr/bin/python3 testpip $ source testpip/bin/activate (testpip) $ pip install numpy ... (testpip) $ deactivate $ rm -fr testpip/
Wheels provided support all Raspberry Pi models (Pi 3, Pi 2, Pi 1 and Pi Zero). Wheels are provided for Python 3.4 and 3.5. We plan to add support for Python 3.6 and 2.7.
piwheels is a community project by Ben Nuttall and Dave Jones. Hosting kindly provided by Mythic Beasts. See the project source code on GitHub and read more about the service in our FAQs.