使用pip安装SciPy和NumPy

我试图在我分发的包中创build所需的库。 它需要SciPy和NumPy库。 在开发的同时,我安装了两个使用

apt-get install scipy 

它安装了SciPy 0.9.0和NumPy 1.5.1,并且工作正常。

我想用pip install来做同样的事情 – 为了能够在我自己的包的setup.py中指定依赖关系。

问题是,当我尝试:

 pip install 'numpy==1.5.1' 

它工作正常。

但是之后

 pip install 'scipy==0.9.0' 

悲惨地失败了

 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. 

我如何得到它的工作?

我在我的答案中假设Linux的经验; 我发现有三个先决条件让pip install scipy进行得很好。

去这里: 安装SciPY

按照说明下载,构build并导出BLAS的envvariables,然后LAPACK 。 要小心,不要盲目地'删除'shell命令 – 根据你的体系结构等等,你需要select几行,你需要修改/添加它错误地假定的正确的目录好。

你可能需要做的第三件事是安装numpy-f2py或者等价的东西。

哦,是的,最后,你可能需要安装gcc-gfortran,因为上面的库是Fortran源代码。

这在Ubuntu 14.04上适用于我:

 sudo apt-get install libblas-dev liblapack-dev libatlas-base-dev gfortran pip install scipy 

如果您使用Ubuntu,则需要libblas和liblapack开发包。

 aptitude install libblas-dev liblapack-dev pip install scipy 

由于以前用yum进行安装的说明在这里被破坏,因此在fedora等软件上进行了更新。 我已经在“Amazon Linux AMI 2016.03”上进行了testing

 sudo yum install atlas-devel lapack-devel blas-devel libgfortran pip install scipy 

我正在研究一个依赖于numpy和scipy的项目。 在Fedora 23的全新安装中,使用Python 3.4的Python虚拟环境(也适用于Python 2.7),在setup.py(在setup()方法中)

 setup_requires=[ 'numpy', ], install_requires=[ 'numpy', 'scipy', ], 

我发现我不得不运行以下来获得pip install -e . 上class:

 pip install --upgrade pip 

 sudo dnf install atlas-devel gcc-{c++,gfortran} subversion redhat-rpm-config 

redhat-rpm-config用于scipy使用redhat-hardened-cc1 ,而不是常规的cc1

这是什么操作系统? 答案可能取决于所涉及的操作系统。 但是,看起来你需要find这个BLAS库并安装它。 它似乎没有在PIP(你必须这样做),但如果你安装它,它应该让你进步你的SciPy安装。

Windows上 ,使用python 3.5 ,我设法通过使用scipy不是 pip安装scipy

 conda install scipy 

在我的情况下,升级皮普做的伎俩。 另外,我已经用-U参数安装了scipy(将所有软件包升级到最后的可用版本)