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

178

我正在尝试将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。这对其他软件包有效。

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

非常感谢您的帮助。


4
我认为需要一个Fortran编译器。但是如果接受预编译二进制文件,您可以使用Christoph Gohlke的numpyscipy轮包并通过pip安装。 - Eryk Sun
谢谢Eryksun,我正在下载二进制文件以查看是否解决了问题。 - tjb305
尝试使用py -3.4 -m pip install SomePackage.whl进行安装。 - Eryk Sun
2
我也遇到了这个问题。我无法让pip工作,但是这个方法对我有效(在Windows上):http://sourceforge.net/projects/scipy/files/scipy/ - MackM
在安装 scipy 之前,请执行以下命令:pip install numpy mkl - JeeyCi
显示剩余2条评论
17个回答

1

1
英特尔现在提供了一个免费的Python发行版,适用于Linux / Windows / OS X,称为“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 Möller
@Daniel,你说的静态库是什么意思?Python是一种解释型语言。你是如何使用静态链接库的?但我不是这个领域的专家。所以可能我漏掉了什么。 - robertspierre
我也不是很理解。但这对于使用Theano来说是一个真正的问题。它需要BLAS库是动态的(可能是与NumPy动态链接而不是静态链接?) - Python确实使用一系列编译的库,这就是为什么它可以在解释时如此快速工作的原因。 - Daniel Möller

1
我尝试安装scipy时遇到了相同的错误,之前已经安装了Visual Studio C++、numpy等。我的问题在于我刚刚安装了Python 3.9。
我移除了3.9.0版本并降级到了3.8.6版本,这样scipy就成功安装了。

1

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

  1. 安装Numpy,即whl文件
  2. 再次安装Scipy,也是一个whl文件

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

  1. 然后运行 pip install --user skfuzzy

希望这能为您解决问题。


1

我按照以下方式解决了这个问题: pip install -U scikit-learn


0

使用http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy上的资源可以解决这个问题。但是,你需要注意版本的兼容性。经过多次尝试后,我最终决定卸载Python,然后安装了一个全新的Python版本,并且安装了NumPy,然后再安装了SciPy,这解决了我的问题。


鼓励提供外部资源链接,但请添加上下文说明该链接的内容和原因。在引用重要链接时,请引用最相关的部分,以防目标站点无法访问或永久离线。 - pableiros

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接