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

tjb*_*305 163 python windows numpy pip python-3.x

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

numpy.distutils.system_info.NotFoundError: no lapack/blas resources found
Run Code Online (Sandbox Code Playgroud)

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

pip install --no-index --find-links="S:\python\scipy 0.15.0" scipy
Run Code Online (Sandbox Code Playgroud)

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

我是否必须使用窗口二进制文件,或者有一种方法可以让pip install工作吗?

非常感谢您的帮助

dre*_*wid 118

以下链接应解决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]
Run Code Online (Sandbox Code Playgroud)

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

  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

  • @Nozdrum和那些想要使用该方法的人,你只需要在scipy之前安装[numpy + mkl](http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy)来访问blas. (9认同)
  • 我认为这个解决方案只适用于Python 2.7?看起来截至2016年8月[没有Python 3的编译器](http://stackoverflow.com/questions/29909330/microsoft-visual-c-compiler-for-python-3-4) (2认同)
  • 这就像一个魅力.您可能需要注意文件名中的cp27指向python的版本.whl用于下载cp35如果您运行的是python 3.5,则cp27适用于2.7等. (2认同)
  • 只是想强调@AlexanderMicklewright所写的内容.对我来说,"cpXX"指的是(C)Python的XX版本并不明显.我只是隐式选择了最高版本的cp36,虽然我正在运行Python 3.5. (2认同)

小智 97

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

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

它将成功安装.

  • 这应该标记为答案; 它工作,这是最轻松的安装方式. (17认同)
  • 兼容python 3.6和windows 10. (5认同)
  • 我正在使用 Python2.7 和 AMD64,但收到此错误“scipy-1.0.0-cp27-cp27m-win_amd64.whl 在此平台上不受支持的轮子。” 有什么建议吗? (2认同)

Ada*_*son 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的免费版本)不幸在五年前停止了开发.如果有人想从他们中断的地方继续前行,可以在这里找到它.

  • 简短回答:使用 Anaconda (2认同)

ale*_*ksk 30

对不起,这是第一个谷歌搜索结果.这是对我有用的解决方案:

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

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

  3. 从以下网址下载SciPy轮:http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy (类似于上面的步骤).

  4. 如上所述,pip install [车轮的文件名]

  • 截至2017年1月8日,这适用于Windows 8 64位的Python 3.5 32位 (2认同)

Jaa*_*nus 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

  • 好吧,我做了步骤1)和2),但在第三步,我得到了同样的错误.因此,在步骤1)和2)之后,我不得不从这里手动下载Scipy.whl包:http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy和pip install"scipy downloads path".现在它很棒! (7认同)

man*_*iac 5

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

输入以下命令

  • "conda install numpy"
  • "conda安装熊猫"
  • "conda安装scipy"


np8*_*np8 5

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

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

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

解决方案

  • 安装支持的 python 版本后,使用以下命令删除非工作的 numpy 安装
pip uninstall numpy
Run Code Online (Sandbox Code Playgroud)

并安装 scipy

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

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

<path_to_python_executable> -m pip install <X> 
Run Code Online (Sandbox Code Playgroud)

而不是 pip install <X>.

为什么会发生这种情况?

  • Scipy 依赖于 numpy,从setup.py或仅通过阅读 pip 安装日志可以看出。
  • 如果你有太新的(不受支持的)python 安装,pip 存储库中没有内置的轮子 (.whl),而是 tarball (.tar.gz),在这种情况下,它需要用户机器编译一些 C++ 代码在安装过程中。另请参阅:Python 打包:轮子与 tarball (tar.gz)

附录

  • 检查https://pypi.org/project/numpy/以获取支持的 Python 版本列表。目前 (2020-11-04) 最新支持的 python 版本是Python 3.9。使用numpy 1.19.3或更高版本时,Python 3.8 for numpy 1.19.2. (有关旧 numpy 版本的兼容性,请参阅numpy 发行说明
  • 如果您使用的是 Windows 并看到pip尝试安装numpy-<x>.tag.gz,您就知道它可能无法正常工作。请尝试使用旧版本的 Python。您希望看到 pip 为 numpy for Windows ( numpy-<x>.whl)安装二进制轮。您可以在此处检查可用于 numpy 的 pip 中的轮子。