161

我正在尝试在我分发的包中创建所需的库。它需要SciPyNumPy库。在开发时,我安装了两者

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.

我如何让它工作?

4

8 回答 8

334

这在 Ubuntu 14.04 上对我有用:

sudo apt-get install libblas-dev liblapack-dev libatlas-base-dev gfortran
pip install scipy
于 2015-08-05T18:51:21.053 回答
77

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

aptitude install libblas-dev liblapack-dev
pip install scipy
于 2015-02-11T16:32:30.917 回答
34

我假设我的回答中有 Linux 经验;我发现要pip install scipy顺利进行,需要三个先决条件。

去这里:安装 SciPY

按照说明下载、构建和导出BLAS的环境变量,然后是LAPACK。注意不要只是盲目地剪切'n'粘贴shell命令-根据您的体系结构等,您需要选择几行,并且您需要修复/添加它错误地假定为的正确目录好。

您可能需要的第三件事是yum install numpy-f2py或等效的。

哦,是的,最后,您可能需要yum install gcc-gfortran因为上面的库是Fortran源代码。

于 2013-02-01T04:52:24.430 回答
14

由于先前使用 yum 安装的说明已被破坏,因此此处是在 Fedora 等设备上安装的更新说明。我已经在“Amazon Linux AMI 2016.03”上对此进行了测试

sudo yum install atlas-devel lapack-devel blas-devel libgfortran
pip install scipy
于 2016-05-18T04:19:03.027 回答
7

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

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

我发现我必须运行以下命令才能pip install -e .开始工作:

pip install --upgrade pip

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

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

于 2015-12-24T20:39:29.830 回答
4

windows python 3.5上,我设法scipy使用conda not pip进行安装:

conda install scipy
于 2017-04-08T15:20:53.727 回答
3

这是什么操作系统?答案可能取决于所涉及的操作系统。但是,您似乎需要找到这个BLAS库并安装它。它似乎不在 PIP 中(因此您必须手动完成),但是如果您安装它,它应该可以让您进行 SciPy 安装。

于 2012-06-20T06:51:59.943 回答
0

就我而言,升级 pip 就可以了。另外,我已经使用 -U 参数安装了 scipy(将所有软件包升级到最后一个可用版本)

于 2017-02-17T15:36:43.673 回答