使用pip安装SciPy和NumPy


157

我正在尝试在要分发的程序包中创建所需的库。它需要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.

我该如何工作?


嗯,您确定pip可以numpy=1.5.1代替numpy==1.5.1(double equals)一起使用吗?
雨果·塔瓦雷斯

我正在使用双等于,这是一个错字。我只是在这里输入而不是复制粘贴:)
eran 2012年

5
除了blas和lapack以外,您还需要安装blas-devel和安装lapack-devel。这在文档中未指定,但是如果要使用PIP安装,则必须完成此操作。
伊尼戈Hernáez受文者

我了解到,@IñigoHernáezCorres(blas-devel和lapack-devel)对于我们在amazon-linux上的人也非常有用。
2015年

Answers:


34

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

转到此处:安装SciPY

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

您可能需要做的第三件事是yum安装numpy-f2py或等效程序。

哦,是的,最后,您可能需要安装gcc-gfortran,因为上述库都是Fortran源码。


您在安装SciPy中链接的说明已被删除,现在可能在此处链接scipy.org/scipylib/building/windows.html
jxramos 2015年

30
-1; 链接断开已使该答案无用。答案的实质是在链接上“按照说明进行操作”,但是页面已更改,并且不再存在。另外,询问者将OS apt-get作为其包管理器使用,但是此答案使用yum。提供涵盖其他平台的答案没有错,但应以此为路标;否则,这将不必要地使Unix新手感到困惑。
Mark Amery

5
要安装BLAS和LAPACK,您需要运行yum install lapack-devel.x86_64 blas-devel.x86_64
Max L

331

这在Ubuntu 14.04上对我有用:

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

4
安装libblas-dev liblapack-dev解决了,blas但是后来我明白了,error: library dfftpack has Fortran sources but no Fortran compiler found所以我需要所有这些才能安装scipy。谢谢。
naoko

6
我刚刚安装libblas-dev liblapack-dev gfortran,它为我工作在Ubuntu14.04

libblas是发生错误的原因-找不到lapack / blas资源
Oleg Abrazhaev

1
阿们对于未接受的答案要比接受的答案更好。
费利佩·阿尔梅达

对于百胜:百胜安装blas-devel lapack-devel atlas-devel gcc-gfortran
Alec McGail

76

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

aptitude install libblas-dev liblapack-dev
pip install scipy

13

由于先前使用yum进行安装的说明已被破坏,因此这里提供了在诸如fedora之类的设备上进行安装的更新说明。我已经在“ Amazon Linux AMI 2016.03”上对此进行了测试

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

6

我当时正在从事一个依赖于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


3

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

conda install scipy

2

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


它是Ubuntu 11.10。我尝试过,那正是我的问题。什么是图书馆,我如何获得?
eran 2012年

25
在Ubuntu上,您可以执行例如sudo apt-get install liblapack-dev libatlas-devplus,python-dev gfortran如果您缺少它们,也可以这样做。
pv。

2
我没有发布该帖子!有没有搞错?
谢恩·

0

就我而言,升级点可以解决问题。另外,我已经用-U参数安装了scipy(将所有软件包升级到最新的可用版本)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.