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

Windows Scipy Install: No Lapack/Blas Resources Found

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

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

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

我必须使用 window 二进制文件还是有什么方法可以使 pip install 正常工作?

非常感谢您的帮助

在 Windows 7 64 位上 SciPy 安装缺少 BLAS/LAPACK 库的解决方案描述如下:

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

安装 Anaconda 更容易,但您仍然需要付费才能获得 Intel MKL 或 GPU 支持(它们位于 Anaconda 的 MKL 优化和加速附加组件中 - 我不确定它们是否使用等离子和岩浆)。通过 MKL 优化,numpy 在大型矩阵计算上的性能优于 IDL 10 倍。 MATLAB 在内部使用 Intel 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 还附带了 Intel 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,因为 copperhead(本质上是 Anaconda Accelerate 的免费版本)不幸在五年前停止了开发。如果有人想从上次中断的地方继续,可以找到 here

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

来源: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

如果您使用 Windows 和 Visual Studio 2015

输入以下命令

  • "conda install numpy"
  • "conda install pandas"
  • "conda install scipy"

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

祝你好运!

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

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

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

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

安装成功

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

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

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

  4. 从以下位置下载 SciPy wheel:http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy(与上述步骤类似)。

  5. 同上,pip install [wheel的文件名]

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

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

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

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

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

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

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

在 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 安装 scipy-0.19.1-cp35-cp35m-win_amd64.whl).

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

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

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

  1. 然后 pip install --user skfuzzy

希望对你有用

解决方案:

  1. 如许多答案中所述,下载 NumPy and SciPy whl from http://www.lfd.uci.edu/~gohlke/pythonlibs/ 并使用

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

  3. 使用Miniconda.

参考:

  1. ScikitLearn Installation

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

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

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

Downloading a compiler is an anti-pattern, you do not want to build numpy, only use it. [github.com/numpy]

解决方案

  • 安装支持的 python 版本后,使用
  • 删除 non-working numpy 安装
pip uninstall numpy

并安装 scipy 和

pip install scipy --only-binary numpy
  • --only-binary numpy 将强制安装 binary wheel (.whl) 版本的 numpy。如果失败,则说明您的 python.

    版本太新(尚不支持)
  • 如果你安装了多个python版本,你可以通过

    确保pip正在安装你想要的python版本
<path_to_python_executable> -m pip install <X> 

而不是 pip install <X>

为什么会这样?

  • Scipy 依赖于 numpy,从 setup.py 或阅读 pip 安装日志可以看出。
  • 如果你有太新的 (non-supported) python 安装,pip 存储库中没有内置的 wheel (.whl),但是 tarball (.tar.gz),它在这种情况下,需要用户机器在安装过程中编译一些 C++ 代码。另见:

附录

  • 勾选 https://pypi.org/project/numpy/ for list of supported Python versions. Currently (2020-11-04) the newest supported python version is Python 3.9. when using numpy 1.19.3 or above, and Python 3.8 for numpy 1.19.2. (For compatibility of older numpy versions, see numpy release notes)
  • 如果您在 Windows 上看到 pip 正在尝试安装 numpy-<x>.tag.gz,您知道它可能无法正常工作。请尝试使用旧版本的 Python。您希望看到 pip 为 Windows (numpy-<x>.whl) 安装 numpy 二进制轮。您可以检查 pip 中的轮子可用于 numpy here.

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

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