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

时间:2015-01-28 11:00:08

标签: python windows python-3.x numpy pip

我正在尝试将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 offline,我正在使用的安装命令是;

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

我已经阅读了这里有关要求编译器的帖子,如果我理解正确的是VS C ++编译器。我正在使用2010版本,因为我正在使用Python 3.4。这适用于其他包。

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

非常感谢您的帮助

17 个答案:

答案 0 :(得分:115)

以下链接应解决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]

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

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

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

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

答案 1 :(得分:97)

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

  1. scipy-0.18.0-cp27-cp27m-win_amd64.whl
  2. 下载http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
  3. 打开cmd
  4. 确保scipy-0.18.0-cp27-cp27m-win_amd64.whl位于cmd的当前目录中,然后输入pip install scipy-0.18.0-cp27-cp27m-win_amd64.whl
  5. 安装成功。

答案 2 :(得分:32)

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

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

安装Anaconda要容易得多,但是你仍然无需支付英特尔MKL或GPU支持(它们是针对Anaconda的MKL优化和加速附加组件 - 我不确定他们是否使用PLASMA和MAGMA要么)。通过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

答案 3 :(得分:29)

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

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

  2. 的滚轮
  3. 打开命令提示符并导航到下载滚轮的文件夹。运行命令:pip install [wheel of file]

  4. http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy下载SciPy滚轮(类似于上面的步骤)。

  5. 如上所述,pip install [轮子的文件名]

答案 4 :(得分:20)

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

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

答案 5 :(得分:5)

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

输入以下命令

  • " conda install numpy"
  • " conda安装pandas"
  • " conda install scipy"

答案 6 :(得分:3)

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

此页面的解决方案过于复杂。大多数numpy / scipy用户不需要编译他们的numpy安装程序,也不需要依靠第三方的“ numpy + mkl”轮子。

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

解决方案

  • 一旦您安装了受支持的python版本,请使用删除不起作用的numpy安装
pip uninstall numpy

并使用安装scipy

pip install scipy --only-binary numpy
  • --only-binary numpy将强制安装numpy的二进制车轮(.whl)版本。如果失败,则说明您的Python版本太新(尚不支持)。

  • 如果您安装了多个python版本,则可以确保pip正在安装您想要的python版本

<path_to_python_executable> -m pip install <X> 

代替pip install <X>

为什么会这样?

  • Scipy依赖于numpy,这可以从setup.py或仅通过读取pip安装日志中看到。
  • 如果安装的Python版本太新(不支持),则pip存储库中没有内置的wheel(.whl),而是tarball(.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或更高版本,而 Python 3.8 用于numpy 1.19.2时。 (有关较旧numpy版本的兼容性,请参见numpy release notes
  • 如果您使用的是Windows,并且看到pip尝试安装numpy-<x>.tag.gz,则说明它可能无法正常工作。请尝试使用旧版本的Python。您想看到在Windows(numpy-<x>.whl)上为numpy安装二进制轮的提示。您可以检查numpy here可用的点子中的轮子。

答案 7 :(得分:2)

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

祝你好运!

答案 8 :(得分:2)

在Windows中简单快速地安装Scipy

  1. http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy下载 正确的Python版Scipy包(例如正确的 python 3.5和Windows x64的包是scipy-0.19.1-cp35-cp35m-win_amd64.whl)。
  2. 在包含已下载的Scipy的目录中打开cmd 包。
  3. 输入pip install <<your-scipy-package-name>>(例如pip install SciPy的-0.19.1-CP35-cp35m-win_amd64.whl)。

答案 9 :(得分:1)

尝试安装scipy时出现了相同的错误,还安装了Visual Studio C ++,numpy等。我的问题是我刚安装了Python 3.9。

我删除了3.9.0版,并降级为3.8.6版,并顺利安装了scipy。

答案 10 :(得分:1)

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

答案 11 :(得分:1)

解决方案:

  1. 如许多答案所述,请从NumPy下载SciPyhttp://www.lfd.uci.edu/~gohlke/pythonlibs/ whl,然后安装

    pip install <whl_location>
    
  2. Building BLAS/LAPACK from source

  3. 使用Miniconda

  4. 参考:

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

答案 12 :(得分:1)

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

  1. 安装Numpy,一个whl文件
  2. 再次安装Scipy whl文件
  3. 根据python版本选择文件,如amd64为python3和其他win32文件为python27

    1. 然后{{1}}
    2. 我希望,它会对你有用

答案 13 :(得分:1)

英特尔现在免费提供Linux / Windows / OS X的Python发行版,名为&#34; Intel distribution for Python&#34;。

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

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

答案 14 :(得分:1)

对于python27 1,安装numpy + mkl(下载链接:http://www.lfd.uci.edu/~gohlke/pythonlibs/) 2,安装scipy(同一站点) OK!

答案 15 :(得分:0)

安装英特尔发布的python https://software.intel.com/en-us/intel-distribution-for-python

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

答案 16 :(得分:0)

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