Issue
I'm trying to create required libraries in a package I'm distributing. It requires both the SciPy and NumPy libraries. While developing, I installed both using
apt-get install scipy
which installed SciPy 0.9.0 and NumPy 1.5.1, and it worked fine.
I would like to do the same using pip install
- in order to be able to specify dependencies in a setup.py of my own package.
The problem is, when I try:
pip install 'numpy==1.5.1'
it works fine.
But then
pip install 'scipy==0.9.0'
fails miserably, with
raise self.notfounderror(self.notfounderror.__doc__)
numpy.distutils.system_info.BlasNotFoundError:
Blas (http://www.netlib.org/blas/) libraries not found.
Directories to search for the libraries can be specified in the
numpy/distutils/site.cfg file (section [blas]) or by setting
the BLAS environment variable.
How do I get it to work?
Solution
I am assuming Linux experience in my answer; I found that there are three prerequisites to getting pip install scipy
to proceed nicely.
Go here: Installing SciPY
Follow the instructions to download, build and export the env variable for BLAS and then LAPACK. Be careful to not just blindly cut'n'paste the shell commands - there will be a few lines you need to select depending on your architecture, etc., and you'll need to fix/add the correct directories that it incorrectly assumes as well.
The third thing you may need is to yum install numpy-f2py or the equivalent.
Oh, yes and lastly, you may need to yum install gcc-gfortran as the libraries above are Fortran source.
Answered By - David Kierans