繁体   English   中英

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 install,我使用的安装命令是;

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

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

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

非常感谢您的帮助

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

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

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

就会安装成功。

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

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

安装 Anaconda 容易得多,但您仍然无法在不付费的情况下获得 Intel MKL 或 GPU 支持(它们位于 Anaconda 的 MKL 优化和加速附加组件中 - 我不确定它们是否也使用 PLASMA 和 MAGMA) . 通过 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 还带有英特尔 MPI 库,可用于集群计算应用程序及其最新的至强处理器。 虽然使用 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 的免费版本)不幸在五年前停止了开发。 如果有人想从他们离开的地方继续,可以在这里找到它。

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

  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 [wheel的文件名]

这是我让一切正常工作的顺序。 第二点是最重要的一点。 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

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

输入以下命令

  • “畅达安装numpy”
  • “畅达安装熊猫”
  • “畅达安装scipy”

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

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

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

解决方案

  • 安装支持的 python 版本后,使用以下命令删除非工作的 numpy 安装
pip uninstall numpy

并安装 scipy

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

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

<path_to_python_executable> -m pip install <X> 

而不是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.8numpy 1.19.2 (有关旧 numpy 版本的兼容性,请参阅numpy 发行说明
  • 如果你在 Windows 上看到pip试图安装numpy-<x>.tag.gz ,你知道它可能不会工作。 请尝试使用旧版本的 Python。 您希望看到 pip 为 Windows 的 numpy 安装二进制轮( numpy-<x>.whl )。 您可以在此处检查可用于 numpy 的 pip 中的轮子。

在 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)。

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

祝你好运!

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

英特尔现在免费为 Linux / Windows / OS X 提供一个 Python 发行版,称为“ 英特尔 Python 发行版”。

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

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

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

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

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

  1. 然后pip install --user skfuzzy

我希望它对你有用

解决方案:

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

    pip install <whl_location>
  2. 从源代码构建 BLAS/LAPACK

  3. 使用Miniconda

参考:

  1. ScikitLearn 安装
  2. 为 scipy 安装 BLAS 和 LAPACK 的最简单方法?

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM