# Compiling Scipy and Matplotlib using pip on Lion

So I upgraded to Lion. Predictably, some things went wrong. This time, the main thing that bit me was that for some reason, `pip`

stopped working. After a bit of messing around with `brew`

, `pip`

and `easy_install`

, I found out it was almost entirely my own fault. I messed up my `PATH`

.

In the meantime, I had uninstalled all of `brew`

's Python, so I had to reinstall. For me, that entails Python, Numpy, Scipy and Matplotlib. Only this time, Scipy would not build. Some obscure error in some `veclib_cabi_c.c`

would report errors. A quick round of googling reveals:

In order to get Scipy to compile, you need to insert `#include <complex.h>`

in

./scipy/lib/blas/fblaswrap_veclib_c.c.src ./scipy/linalg/src/fblaswrap_veclib_c.c ./scipy/sparse/linalg/eigen/arpack/ARPACK/FWRAPPERS/veclib_cabi_c.c

That done, Scipy compiles perfectly fine.

But, that is not enough yet. As this blogpost outlines, Matplotlib is not currently compatible with `libpng`

1.5, which ships with Lion. Fortunately, this is already fixed in the most recent source on the Matplotlib repo, so you just have to checkout that:

```
pip install -e git+https://github.com/matplotlib/matplotlib.git#egg=matplotlib
```

By doing that, Matplotlib should install just fine.

Seriously though, these PyPi repos are in a very sorry state. Every time I install one of these packages, I have to jump through hoops and spend hours debugging packages that really should work right out of the box. After all, `brew`

, `rvm`

and `gem`

can do it just fine. Why is `pip`

such a horrible mess?