使用 pip 安装 SciPy 和 NumPy

Posted

技术标签:

【中文标题】使用 pip 安装 SciPy 和 NumPy【英文标题】:Installing SciPy and NumPy using pip 【发布时间】:2012-06-22 06:35:55 【问题描述】:

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

如何让它工作?

【问题讨论】:

嗯,你确定 pip 与 numpy=1.5.1 而不是 numpy==1.5.1 (双等号)一起工作吗? 我使用的是双等号,这是一个错字。我只是在这里输入而不是复制粘贴:) 除了 blas 和 lapack 您还需要安装 blas-devellapack-devel。这在文档中没有指定,但如果您想使用 PIP 安装,则必须这样做。 @IñigoHernáezCorres(blas-devel 和 lapack-devel)对于我们这些使用 amazon-linux 的人来说也是 YUMable。 ***.com/questions/7496547/does-python-scipy-need-blas 有两个步骤 【参考方案1】:

这在 Ubuntu 14.04 上对我有用:

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

【讨论】:

安装libblas-dev liblapack-dev 解决了blas 但后来我得到了error: library dfftpack has Fortran sources but no Fortran compiler found 所以我需要所有这些才能安装scipy。谢谢。 我只是安装libblas-dev liblapack-dev gfortran,它适用于我在 Ubuntu14.04 libblas 是错误原因 - 未找到 lapack/blas 资源 阿门,未接受的答案比接受的答案更好。 对于 yum:yum install blas-devel lapack-devel atlas-devel gcc-gfortran【参考方案2】:

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

aptitude install libblas-dev liblapack-dev
pip install scipy

【讨论】:

【参考方案3】:

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

去这里:Installing SciPY

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

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

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

【讨论】:

您在 Installing SciPy 中链接的说明已被删除,现在可能在此处链接scipy.org/scipylib/building/windows.html -1;这个答案因链接中断而变得无用。答案的核心是在链接上“按照说明进行操作”,但是页面已经改变,它们不再存在。此外,提问者正在使用带有apt-get 作为其包管理器的操作系统,但此答案使用yum。提供涵盖其他平台的答案并没有错,但它们应该被标明;否则这会给 Unix 新手造成不必要的困惑。 要安装 BLAS 和 LAPACK,您需要运行 yum install lapack-devel.x86_64 blas-devel.x86_64【参考方案4】:

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

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

【讨论】:

【参考方案5】:

我正在做一个依赖于 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

【讨论】:

【参考方案6】:

windows python 3.5 上,我设法通过使用 conda 安装了 scipy not pip: p>

conda install scipy

【讨论】:

【参考方案7】:

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

【讨论】:

这是 ubuntu 11.10。我试过了,这正是我的问题。什么是图书馆,我如何获得它? 在 Ubuntu 上,你可以做例如sudo apt-get install liblapack-dev libatlas-dev 加上 python-dev gfortran 如果你想念他们。 我没有发那个帖子!什么鬼?【参考方案8】:

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

【讨论】:

以上是关于使用 pip 安装 SciPy 和 NumPy的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu-Python2.7安装 scipy,numpy,matplotlib 和pip

ubantu下安装pip,python,pycharm,numpy,scipy,matplotlibm,pandas 以及sklearn

安装numpy,scipy,gensim,jieba

python机器学习包 Windows下 pip安装 scikit-learn numpy scipy

SciPy 无法通过 pip 安装

windows上安装numpy,scipy