使用 pip 安装 SciPy 和 NumPy

我试图在我发布的包中创建必需的库,它需要 SciPy笨蛋库。 在开发时,我使用

apt-get install scipy

它安装了 SciPy0.9.0和 NumPy1.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.

我怎么才能让它起作用?

234904 次浏览

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

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

到这里: 安装 SciPY

按照说明下载、构建和导出 布拉斯背包的 env 变量。注意不要盲目地剪切和粘贴 shell 命令——根据你的体系结构等,你需要选择一些行,你需要修复/添加正确的目录,这些目录也是它错误地假定的。

第三件你可能需要的是 百胜安装 numpy-f2py或者等价物。

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

如果你正在使用 Ubuntu,你需要 libblas 和 liblapackdev 包。

aptitude install libblas-dev liblapack-dev
pip install scipy

这对我在 Ubuntu 14.04上很有用:

sudo apt-get install libblas-dev liblapack-dev libatlas-base-dev gfortran
pip install 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是用于 spypy 的 redhat-hardened-cc1而不是常规的 cc1

由于以前的安装指令与 yum 是打破这里是更新的指令安装上的东西,如软呢帽。我在“ Amazon Linux AMI 2016.03”上测试过

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

对我来说,升级 Pip 就成功了。另外,我已经安装了带有 -U 参数的 scypy (将所有软件包升级到最后一个可用版本)

窗户 python 3.5上,我通过使用 conda 没有 pip安装了 scipy:

conda install scipy