Windows Scipy 安装:未找到 Lapack/Blas 资源

Posted

技术标签:

【中文标题】Windows Scipy 安装:未找到 Lapack/Blas 资源【英文标题】:Windows Scipy Install: No Lapack/Blas Resources Found 【发布时间】:2015-03-27 06:02:11 【问题描述】:

我正在尝试将 python 和一系列软件包安装到 64 位 Windows 7 桌面上。我已经安装了 Python 3.4,安装了 Microsoft Visual Studio C++,并成功安装了 numpy、pandas 和其他一些。尝试安装 scipy 时出现以下错误;

numpy.distutils.system_info.NotFoundError: no lapack/blas resources found

我是离线使用pip install,我使用的安装命令是;

pip install --no-index --find-links="S:\python\scipy 0.15.0" scipy

我已阅读此处关于需要编译器的帖子,如果我理解正确的话,它就是 VS C++ 编译器。我正在使用 2010 版本,因为我正在使用 Python 3.4。这适用于其他软件包。

我必须使用 windows 二进制文件还是有办法让 pip install 工作?

非常感谢您的帮助

【问题讨论】:

我认为它需要一个 Fortran 编译器。但是,如果可以接受预构建的二进制文件,您可以使用 Christoph Gohlke 的 numpy 和 scipy 带有 pip 的轮包。 感谢 Eryksun,我正在下载二进制文件,看看是否能解决问题。 令人沮丧的是,当我尝试安装二进制文件时,它声称我没有安装 Python 3.4,即使它在 PATH 中。 试试py -3.4 -m pip install SomePackage.whl 我也有这个问题。我无法让 pip 工作,但这对我有用(在寡妇上):sourceforge.net/projects/scipy/files/scipy 【参考方案1】:

此处描述了在 Windows 7 64 位上安装 SciPy 时缺少 BLAS/LAPACK 库的解决方案:

http://www.scipy.org/scipylib/building/windows.html

安装 Anaconda 要容易得多,但您仍然无法在不付费的情况下获得 Intel MKL 或 GPU 支持(它们位于 Anaconda 的 MKL 优化和加速插件中 - 我不确定他们是否使用 PLASMA 和岩浆要么)。通过 MKL 优化,numpy 在大型矩阵计算上的性能优于 IDL 10 倍。 MATLAB 在内部使用英特尔 MKL 库并支持 GPU 计算,因此如果他们是学生,不妨使用它来支付价格(MATLAB 50 美元 + Parallel Computing Toolbox 10 美元)。如果您获得英特尔 Parallel Studio 的免费试用版,它附带 MKL 库以及 C++ 和 FORTRAN 编译器,如果您想在 Windows 上从 MKL 或 ATLAS 安装 BLAS 和 LAPACK,它们将派上用场:

http://icl.cs.utk.edu/lapack-for-windows/lapack/

Parallel Studio 还附带英特尔 MPI 库,可用于集群计算应用程序及其最新的 Xeon 处理器。虽然使用 MKL 优化构建 BLAS 和 LAPACK 的过程并非微不足道,但这样做对 Python 和 R 的好处是相当大的,如本英特尔网络研讨会所述:

https://software.intel.com/en-us/articles/powered-by-mkl-accelerating-numpy-and-scipy-performance-with-intel-mkl-python

Anaconda 和 Enthought 已经通过使此功能和其他一些更易于部署的东西来建立业务。但是,那些愿意做一些工作(和一些学习)的人可以免费使用它。

对于使用 R 的用户,您现在可以通过 Revolution Analytics 的R Open 免费获得 MKL 优化的 BLAS 和 LAPACK。

编辑:Anaconda Python 现在附带 MKL 优化,并通过英特尔 Python 发行版支持许多其他英特尔库优化。但是,Accelerate 库(以前称为 NumbaPro)中对 Anaconda 的 GPU 支持仍然超过 1 万美元!最好的替代品可能是 PyCUDA 和 scikit-cuda,因为铜头鱼(本质上是 Anaconda Accelerate 的免费版本)不幸在五年前停止了开发。如果有人想从上次中断的地方继续,可以找到here。

【讨论】:

icl.cs.utk.edu/lapack-for-windows/lapack 的唯一问题是它令人困惑。任何人都有关于如何处理它的提示? 简答:使用 Anaconda 我使用 Anaconda,但仍然出现错误。我必须下载包含 mkl 的 whl 文件并安装它才能使其正常工作。 (见下面 Jaanus 的回答:vanilla numpy 是不够的) 2017 在这里 - 我使用 here 方法让它工作。一旦你理解了它并不算太糟糕,但它并不像应有的那么简单。 The first link 坏了。我认为应该改为scipy.github.io/devdocs/building/windows.html。【参考方案2】:

以下链接应该可以解决 Windows 和 SciPy 的所有问题;只需选择适当的下载。我能够毫无问题地安装软件包。我尝试过的所有其他解决方案都让我很头疼。

来源:http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy

命令:

 pip install [Local File Location]\[Your specific file such as scipy-0.16.0-cp27-none-win_amd64.whl]

假设您已经安装了以下内容:

    使用 Python 工具安装 Visual Studio 2015/2013 (已集成到 2015 年安装的设置选项中)

    为 Python 安装 Visual Studio C++ 编译器 来源:http://www.microsoft.com/en-us/download/details.aspx?id=44266 文件名:VCForPython27.msi

    安装选择的 Python 版本 来源:python.org 文件名(例如):python-2.7.10.amd64.msi

【讨论】:

@Nozdrum 和那些想使用该方法的人,您只需在 scipy 之前安装 numpy+mkl 即可访问 blas。 另外,您可能希望使用来自@Holt 指向的同一站点的 SciPy 安装。我必须使用 WHL 文件中提供的 Numpy+MKL 和 SciPy 才能使其正常工作。 我认为这个解决方案只适用于 Python 2.7?截至 2016 年 8 月,似乎有 no compiler for Python 3 这就像一个魅力。您可能需要注意,文件名中的 cp27 指向 .whl 所针对的 python 版本,因此如果您正在运行 python 3.5,请下载 cp35,对于 2.7 等,请下载 cp27。 只是想强调@AlexanderMicklewright 所写的内容。 cpXX 指的是 (C)Python 的 X.X 版本,这对我来说并不明显。我只是隐式选择了最高版本的 cp36,虽然我运行的是 Python 3.5。【参考方案3】:

如果您使用的是 Windows 和 Visual Studio 2015

安装 miniconda http://conda.pydata.org/miniconda.html 将您的 python 环境更改为 python 3.4(32 位) 点击python环境3.4,打开cmd

输入以下命令

“conda 安装 numpy” “conda 安装熊猫” “conda install scipy”

【讨论】:

【参考方案4】:

我的 5 美分;您可以从以下位置安装整个(预编译的)SciPy https://github.com/scipy/scipy/releases

祝你好运!

【讨论】:

【参考方案5】:

这是我让一切正常的顺序。第二点是最重要的。 Scipy 需要Numpy+MKL,而不仅仅是香草Numpy

    安装python 3.5 pip install "file path"(从这里下载 Numpy+MKL ***http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy) pip install scipy

【讨论】:

好吧,我执行了步骤 1) 和 2),但在第三步中,我遇到了同样的错误。所以在步骤 1) 和 2) 之后,我必须从这里手动下载 Scipy.whl 包:lfd.uci.edu/~gohlke/pythonlibs/#scipy 和 pip install “scipy 下载路径”。现在效果很好!【参考方案6】:

我的python版本是2.7.10,64位Windows 7。

    http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy下载scipy-0.18.0-cp27-cp27m-win_amd64.whl 打开cmd 确保scipy-0.18.0-cp27-cp27m-win_amd64.whl 位于cmd 的当前目录中,然后键入pip install scipy-0.18.0-cp27-cp27m-win_amd64.whl

安装成功。

【讨论】:

这应该被标记为答案;它有效,而且是最轻松的安装方式。 我不确定 scikits.vectorplot-0.1.1-cp27-none-win_amd64.whl 文件在这里的作用是什么。我刚刚从成功安装 scipy 的给定链接下载了 scipy-0.18.0-cp27-cp27m-win_amd64.whl 文件。然后我被提示缺少 numpy+mkl。我使用相同的链接下载并使用 pip install 安装。效果很好,我同意这是我遇到的最简单的解决方案。 也适用于 python 3.6 和 windows 10。 谢谢!简单易行的解决方案 我正在使用 Python2.7 和 AMD64 但收到此错误scipy-1.0.0-cp27-cp27m-win_amd64.whl is not a supported wheel on this platform. 有什么建议吗?【参考方案7】:

抱歉,necro,但这是第一个 google 搜索结果。这是对我有用的解决方案:

    从以下位置下载 numpy+mkl *** http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy。 使用与您的 python 版本相同的版本(使用 python -V 检查)。例如。如果您的 python 是 3.5.2,请下载显示 cp35 的***

    打开命令提示符并导航到您下载滚轮的文件夹。运行命令:pip install [***的文件名]

    从http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy 下载 SciPy 轮盘(类似于上述步骤)。

    如上,pip install [***的文件名]

【讨论】:

发布死问题的答案是完全可以的。事实上,我们实际上是在每次新用户这样做时review it。 截至 2017 年 1 月 8 日,这对我适用于 Windows 8 64 位上的 Python 3.5 32 位 谢谢,使用 numpy 1.13.1 + mkl、pandas 0.20.3、scikit-learn 0.18.2、scipy 0.19.1 为 Python 3.6 工作 这适用于我在 Windows 10 x64 上使用 Python 3.6.2【参考方案8】:

使用http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy 的资源将解决问题。但是,您应该注意版本兼容性。经过几次尝试,最后我决定卸载 python,然后安装新版本的 python 和 numpy,然后安装 scipy,这解决了我的问题。

【讨论】:

鼓励链接到外部资源,但请在链接周围添加上下文,以便您的其他用户了解它是什么以及为什么存在。始终引用重要链接中最相关的部分,以防目标站点无法访问或永久离线。【参考方案9】:

安装intel的python发行版https://software.intel.com/en-us/intel-distribution-for-python

对于python的更好的分发应该包含它们最初

【讨论】:

【参考方案10】:

对于 python27 1、安装numpy + mkl(下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/) 2、安装scipy(同一个站点) 好的!

【讨论】:

【参考方案11】:

英特尔现在免费提供适用于 Linux/Windows/OS X 的 Python 发行版,名为“Intel distribution for Python”。

它是一个完整的 Python 发行版(例如,包中包含 python.exe),其中包括一些针对英特尔 MKL(数学内核库)编译的预安装模块,因此针对更快的性能进行了优化。

该发行版包括 NumPy、SciPy、scikit-learn、pandas、matplotlib、Numba、tbb、pyDAAL、Jupyter 等模块。缺点是升级到最新版本的 Python 有点晚。例如,截至今天(2017 年 5 月 1 日),该发行版提供 CPython 3.5,而 3.6 版本已经发布。但是,如果您不需要这些新功能,它们应该完全没问题。

【讨论】:

你知道使用的 BLAS 库是否是“动态的”吗?我正在使用theano,如果库是“静态的”,就会出现很多问题。 @Daniel 静态库是什么意思? Python 是一种解释型语言。您如何使用静态链接库?但我不是这个领域的专家。所以可能我错过了什么 O 也不太明白。但这是使用 theano 的真正问题。它需要 BLAS 库是动态的(也许是动态链接到 numpy 而不是静态链接到 numpy?)——Pyton 确实使用了一系列已编译的库,这就是为什么它可以在解释的情况下如此快速地工作。【参考方案12】:

在 Windows 中简单快速地安装 Scipy

    http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy下载 适用于您的 Python 版本的正确 Scipy 包(例如,正确的 python 3.5 和 Windows x64 的软件包是 scipy-0.19.1-cp35-cp35m-win_amd64.whl)。 在包含已下载 Scipy 的目录中打开 cmd 包。 键入pip install <<your-scipy-package-name>>(例如 pip install scipy-0.19.1-cp35-cp35m-win_amd64.whl)。

【讨论】:

我得到了 'scipy-0.19.1-cp36-cp36m-win_amd64.whl 不是这个平台支持的***。'这样做时。 为我工作:pip install https://download.lfd.uci.edu/pythonlibs/z2tqcw5k/scipy-1.5.3-cp39-cp39-win_amd64.whl【参考方案13】:

我在安装 scikit-fuzzy 时也遇到了同样的错误。我解决了如下错误:

    安装Numpy,一个whl文件 安装Scipy,又是一个whl文件

根据python版本选择文件,如python3的amd64和python27的其他win32文件

    然后pip install --user skfuzzy

希望对你有用

【讨论】:

【参考方案14】:

解决方案:

    如许多答案中所述,从http://www.lfd.uci.edu/~gohlke/pythonlibs/ 下载NumPy 和SciPy whl 并安装

    pip install <whl_location>
    

    Building BLAS/LAPACK from source

    使用Miniconda。

参考:

    ScikitLearn Installation Easiest way to install BLAS and LAPACK for scipy?

【讨论】:

【参考方案15】:

这样做,它为我解决了 pip install -U scikit-learn

【讨论】:

【参考方案16】:

您可能只是安装了太新(不受支持)的 Python 3.x。

此页面对问题的解决方案过于复杂。大多数 numpy / scipy 用户不需要编译他们的 numpy 安装或需要依赖第 3 方“numpy+mkl”***。

下载编译器是一种反模式,你不想编译 numpy,只使用它。 [github.com/numpy]

解决方案

一旦你安装了支持的 python 版本,删除你的非工作 numpy 安装
pip uninstall numpy

并使用 scipy 安装

pip install scipy --only-binary numpy

--only-binarynumpy 将强制安装二进制轮 (.whl) 版本的 numpy。如果失败,则说明您的 python 版本太新(尚不支持)。

如果你安装了多个python版本,可以通过以下方式确保pip正在安装你想要的python版本

<path_to_python_executable> -m pip install <X> 

而不是pip install &lt;X&gt;

为什么会这样?

Scipy 依赖于 numpy,这可以从 setup.py 或仅通过阅读 pip 安装日志中看出。 如果你有太新的(不支持的)python 安装,在 pip 存储库中没有构建的***(.whl),而是 tarballs(.tar.gz),在这种情况下需要用户机器编译一些安装期间的 C++ 代码。另请参阅:Python packaging: wheels vs tarball (tar.gz)

附录

查看https://pypi.org/project/numpy/ 以获取支持的 Python 版本列表。目前(2020-11-04)最新支持的python版本是Python 3.9。使用numpy 1.19.3 或更高版本时,以及numpy 1.19.2 使用Python 3.8 时。 (有关旧 numpy 版本的兼容性,请参阅numpy release notes) 如果您在 Windows 上看到 pip 尝试安装 numpy-&lt;x&gt;.tag.gz,您知道它可能无法正常工作。请尝试使用旧版本的 Python。您希望看到 pip 为 Windows 的 numpy 安装二进制轮 (numpy-&lt;x&gt;.whl)。您可以在 pip 中查看可用于 numpy here 的***。

【讨论】:

【参考方案17】:

我在尝试安装 scipy 时遇到了同样的错误,我还安装了 Visual Studio C++、numpy 等。我的问题是我刚刚安装了 Python 3.9。

我删除了 3.9.0 版并降级到 3.8.6 版并安装了 scipy 没有问题。

【讨论】:

以上是关于Windows Scipy 安装:未找到 Lapack/Blas 资源的主要内容,如果未能解决你的问题,请参考以下文章

Windows下用PIP安装scipy出现no lapack/blas resources found

Windows下Python安装numpy+mkl,Scipy和statsmodels

windows下安装python的numpy,scipy,sklearn

您如何解决“未找到隐藏的导入!” pyinstaller 中针对 scipy 的警告?

在 Windows 上安装 scipy 的问题

scikit-learn 的 Pip 安装:未找到匹配的发行版。 [复制]