在Windows上安装SciPy出现问题

18

我已经安装了Python 2.7和NumPy。我下载了SciPy的预构建二进制文件,但安装脚本失败并显示以下错误:

未找到Blas (http://www.netlib.org/blas/)库。 可以在numpy/distutils/site.cfg文件(部分[blas])中指定用于搜索库的目录, 或通过设置BLAS环境变量来指定。

我对此并不是很了解。我认为它是一个简单的安装过程,但看起来并不是这样。我搜索了BLAS环境变量,但没有找到合适的结果。感谢任何帮助。

麦克

编辑:没事了,我找到了一个非官方的安装程序exe


你提到的exe似乎是sourceforge上的官方包。 - zhfkt
如果您不想再遭受疼痛,请尝试Anaconda(https://www.continuum.io/downloads#_windows) - ybdesire
5个回答

14

尝试使用 Scipy wheel 文件进行安装。从这里下载:http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy

确保下载与您的 Python 版本和电脑位数兼容的文件。然后按以下方式安装:pip install "path\to\your\wheel\file\scipy-0.18.1-cp27-cp27m-win_amd64.whl"


3
非常感谢,运行得非常完美!我的 Python 版本是 CP35,我之前试图使用版本 36,不小心忽略了这个事实,感谢提醒! - Rusty Nail
这真的帮助我了解如何解决我的问题。在我的情况下,我有Python 3.6,所以pip install scipy没有起作用,我不得不下载.whl文件,然后执行pip install "C:\ Users \ folder \ Downloads \ scipy-0.19.0-cp36-cp36m-win32.whl"。 - kinsley kajiva

12
要在Windows上安装SciPy,您需要安装Fortran编译器。SciPy项目推荐使用MinGW。请参见构建和安装SciPy。安装MinGW之前,请按照以下说明操作:如何安装MinGW(GCC)编译器套件。然后,在运行pip或easy_install安装SciPy之前,请确保将MinGW添加到您的路径中。请参见MinGW安装说明-环境变量

一个侧面的提示,使用Enthought Distribution(安装的一部分)或Active State Distribution仅通过pypm 32位)将更容易,因为它们已经为SciPy准备了预编译的二进制包。或者,您可以使用针对Windows的SciPy预编译二进制软件包安装程序


Fortran编译器仅用于源代码,而不是预构建的二进制文件,对吗?因为预构建的二进制文件才是问题所在。我会尝试您提到的软件包安装程序,我想我使用的那个不同。 - Mike
我使用EPD。EPD已经将其构建到基本安装中了。在Mac和Linux上,我所做的每个SciPy安装都需要gcc和gfortran。安装说明在Windows上说这是先决条件。请参见->http://projects.scipy.org/scipy/browser/trunk/INSTALL.txt?rev=4543 - BigHandsome
2
我运行了软件包安装程序,现在一切都看起来很好。谢谢。不需要Fortran。 - Mike
这种方法对我来说不是立即有效的。安装程序说我需要安装Python 2.7(我已经安装了),并表示找不到它在注册表中的记录(我没有使用msi安装Python2.7,所以这里也没有什么意外)。 - qxotk

1

在这里,我将分享我安装scipy所做的事情。

我的电脑配置是windows-7 64位和python 2.7

  • 首先,我从http://www.lfd.uci.edu/~gohlke/pythonlibs/下载所需的软件包(版本匹配您的配置,例如cp27 => python2.7和cp36 => 3.6)
  • 其次,我使用7zip(也可以使用任何压缩软件,如winrar)解压文件
  • 第三,我复制我提取的scipy文件夹并将其粘贴到C:\Python27\Lib\site-packages中(或者将其放置在PC上的确切位置,如..\..\Lib\site-packages
注意:在安装scipy之前,必须先安装numpy,方法如下。

那么,您是否需要运行pip install指向您粘贴到site-packages文件夹中的软件包?例如:pip install c:\python27\Lib\site-packages\numpy(我正在从该网站重新安装NumPy,因为它说它与MKL(英特尔数学核心或类似物)链接)。 - qxotk
没关系 - 我学会了如何使用pip安装.whl文件,像这样:pip install --use-wheel --no-index --find-links=/where/its/downloaded package_name。这个信息来自于stackoverflow的帖子,链接在这里:https://dev59.com/y14c5IYBdhLWcg3weaP8 - qxotk
@condiosluzverde 如果您按照上述说明操作,则无需运行pip install指向文件夹,这对我很有效。我们要安装哪个.whl文件,我们必须先下载实际文件,然后使用pip或上述过程进行安装。非常感谢您的评论,也让我的答案更加清晰。我还学会了使用pip安装.whl文件。 - R.A.Munna

0

在Windows上安装Scipy需要一个C编译器和第三方C库的存在,这些库在Windows上很难安装。但是,您可以通过命令提示符使用Wheel(.whl)文件来安装Scipy。

我也遇到了同样的问题,以下是我的解决方法:

访问https://pypi.python.org/pypi/scipy并下载与您的系统和已安装的Python版本兼容的Scipy版本,例如,如果您有32位Windows和Python 3.6,则下载带有cp36(version3.6)和Win-32的版本。

下载后,将此文件复制到您安装Python的目录中,可以是Scripts或Lib文件夹。

接下来,在切换到已复制文件所在目录的情况下,使用命令提示符进行安装:

C:\....> pip install scipy-1.0.0b1-cp36-cp36m-win32.whl

-2

在Windows上下载scipy的步骤-

1.Go to website sourceforge.net

2.Click Files

3.Downlaod the type you want

4.Install it.

非常简单,而且对我有效。


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