使用 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-devel
和 lapack-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