This error is coming up because, it seems, pip‘s caching mechanism is trying to read the entire file into memory before caching it… which poses a problem in a limited-memory environent, as matplotlib is ~50mb.
A simpler solution, until pip is patched to use a constant-space caching algorithm, is to run pip
with --no-cache-dir
to avoid the cache:
$ pip --no-cache-dir install airflow