65

如何在我的系统上安装 SciPy?

对于 NumPy 部分(SciPy 依赖),实际上有一个 64 位 Windows 的安装程序:numpy-1.3.0.win-amd64-py2.6.msi(是直接下载 URL,2310144 字节)。

运行 SciPy superpack 安装程序会在对话框中显示此消息:

无法安装。需要 Python 版本 2.6,但在注册表中未找到。

我已经安装了 Python 2.6.2(并在其中安装了工作的 Django),但我不知道任何 Registry 故事。

注册表项似乎已经存在:

REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Python]

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore]

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.6]

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.6\Help]

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.6\Help\Main Python Documentation]
@="D:\\Python262\\Doc\\python262.chm"

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.6\InstallPath]
@="D:\\Python262\\"

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.6\InstallPath\InstallGroup]
@="Python 2.6"

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.6\Modules]

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.6\PythonPath]
@="D:\\Python262\\Lib;D:\\Python262\\DLLs;D:\\Python262\\Lib\\lib-tk"

到目前为止我做了什么:

第1步

下载了 NumPy superpack 安装程序 numpy-1.3.0rc2-win32-superpack-python2.6.exe(直接下载 URL,4782592 字节)。运行此安装程序会导致相同的消息“无法安装。需要 Python 版本 2.6,在注册表中找不到。”。 更新:实际上有一个适用于 NumPy 的安装程序 - 请参阅问题的开头。

第2步

尝试以另一种方式安装 NumPy。下载了zip包numpy-1.3.0rc2.zip(直接下载地址,2404011字节),将zip文件正常解压到临时目录D:\temp7\numpy-1.3.0rc2(其中setup.py和README .txt 是)。然后我打开了一个命令行窗口,然后:

d:
cd D:\temp7\numpy-1.3.0rc2
setup.py install

这运行了很长时间,还包括使用 cl.exe(Visual Studio 的一部分)。这是一个近 5000 行长的 成绩单(230 KB)。

这似乎奏效了。我现在可以在 Python 中执行此操作:

import numpy as np
np.random.random(10)

结果:

array([ 0.35667511,  0.56099423,  0.38423629,  0.09733172,  0.81560421,
        0.18813222,  0.10566666,  0.84968066,  0.79472597,  0.30997724])

第 3 步

下载了 SciPy superpack 安装程序,scipy-0.7.1rc3-win32-superpack-python2.6.exe(直接下载 URL,45597175 字节)。运行此安装程序会导致开头列出的消息

第4步

尝试以另一种方式安装 SciPy。下载了zip包scipy-0.7.1rc3.zip(直接下载地址,5506562字节),将zip文件正常解压到一个临时目录D:\temp7\scipy-0.7.1(其中setup.py和README .txt 是)。然后我打开了一个命令行窗口,然后:

d:
cd D:\temp7\scipy-0.7.1
setup.py install

这并没有取得太大的成就 - 这是一个成绩单(大约 95 行)。

它失败了:

>>> import scipy as sp2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named scipy

平台:Python 2.6.2 安装在目录 D:\Python262,Windows XP 64 位 SP2,8 GB RAM,安装 Visual Studio 2008 专业版。

安装的 Python 的启动画面是:

Python 2.6.2 (r262:71605, Apr 14 2009, 22:46:50) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

PATH 的值,来自命令行窗口中的 SET:

Path=D:\Perl64\site\bin;D:\Perl64\bin;C:\Program Files (x86)\PC Connectivity Solution\;D:\Perl\site\bin;D:\Perl\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;d:\Program Files (x86)\WinSCP\;D:\MassLynx\;D:\Program Files (x86)\Analyst\bin;d:\Python262;d:\Python262\Scripts;D:\Program Files (x86)\TortoiseSVN\bin;D:\Program Files\TortoiseSVN\bin;C:\WINDOWS\system32\WindowsPowerShell\v1.0;D:\Program Files (x86)\IDM Computer Solutions\UltraEdit\
4

16 回答 16

63

NumPySciPy的非官方 64 位安装程序可在http://www.lfd.uci.edu/~gohlke/pythonlibs/获得

确保您下载并安装与您的CPython版本和位数(即cp35= Python v3.5; win_amd64= x86_64)相匹配的包(又名轮子)。

您需要先安装 NumPy;从具有系统范围(又名程序文件)安装的管理员权限的 CMD 提示符:

C:\>pip install numpy‑&lt;version>+mkl‑cp<ver-spec>‑cp<ver-spec>m‑&lt;cpu-build>.whl

或者包括从非管理员CMD 提示符--user安装到当前用户的应用程序文件夹(通常%APPDATA%\Python在 Windows 上)

C:\>pip install --user numpy‑&lt;version>+mkl‑cp<ver-spec>‑cp<ver-spec>m‑&lt;cpu-build>.whl

然后对 SciPy 做同样的事情:

C:\>pip install [--user] scipy‑&lt;version>‑cp<ver-spec>‑cp<ver-spec>m‑&lt;cpu-build>.whl

如果您复制和粘贴任何这些示例,请不要忘记适当地替换<version><ver-spec>和。<cpu-build>此外,您必须使用上面 ifd.uci.edu 链接中的 numpy 和 scipy 包(否则,如果您尝试混合和匹配不兼容的包,您将得到错误——首先卸载任何冲突的包 [ie. pip list])。

于 2010-01-22T02:18:23.413 回答
32

简短回答:Windows 64 位支持目前仍在进行中。superpack 肯定不能在 64 位 Python 上运行(但它应该在 32 位 Python 上运行良好,即使在 Windows 64 位上也是如此)。

Windows 64 位的主要问题是此时使用 mingw-w64 构建不稳定:可能是我们(NumPy 开发人员)的错误、Python 的错误或 mingw-w64。很可能是所有这些的组合:)。所以你必须使用专有的编译器:除了微软编译器之外的任何东西都会随机使 NumPy 崩溃;对于 Fortran 编译器,ifort 是要使用的编译器。到今天为止,NumPy 和 SciPy 源代码都可以使用 Visual Studio 2008 和 ifort 编译(所有测试都通过),但是构建它仍然很痛苦,并且 NumPy 构建基础架构没有很好的支持。

于 2009-10-06T02:47:52.173 回答
6

正如 SciPy 的成绩单告诉你的那样,SciPy 并不真正应该在 Win64 上工作:

Warning: Windows 64 bits support is experimental, and only available for
testing. You are advised not to use it for production.

所以我建议安装 32 位版本的 Python,并停止尝试自己构建 SciPy。如果你仍然想尝试,你首先需要编译 BLAS 和 LAPACK,正如 PiotrLegnica 所说。查看记录,了解它在哪里寻找这些库的编译版本。

于 2009-10-04T20:44:04.017 回答
5

WinPython是具有 64 位 NumPy 和 SciPy 的开源发行版。

于 2013-04-30T12:34:15.783 回答
3

为了完整性: Enthought有一个包含 SciPy 的 Python 发行版;但是,它不是免费的。警告:我从未使用过它。

更新:这个答案早已被遗忘,直到一个赞成票让我回到它。这时候,我会支持 endolithAnaconda的建议,它是免费的。

于 2010-01-22T02:30:32.773 回答
3

另一种选择:http: //www.pythonxy.com/

免费,包括许多旨在顺利协同工作的东西。

这个人

你试过 linux.pythonxy 吗?(http://linux.pythonxy.com)。

它已准备好 64 位...

虽然我不太确定那是什么意思。

更新:

这似乎已经死了。我现在使用Anaconda,它有 32 位或 64 位安装程序。

于 2010-03-17T03:45:20.277 回答
2

尝试在您的 2.6.2 上安装 Python 2.6.3(这也应该添加正确的注册表项),或者使用此脚本注册您现有的安装。安装程序应该在那之后工作。

构建 SciPy 需要 Fortran 编译器和库 - BLASLAPACK

于 2009-10-04T19:05:48.707 回答
2

在 Windows 上独立安装这样的 Python 数据科学包是很糟糕的。试试Anaconda(一个安装程序,400 多个 Python 包,支持 py2 和 py3)。Anaconda 真的帮了我很多忙!

于 2016-03-23T11:47:57.027 回答
2

我在 64 位 Windows 8.1 机器上有一个 32 位 Python 3.5。我只是尝试了几乎所有可以在 Stack Overflow 上找到的方法,但没有一个有效!

然后在这里我找到了它。它说:

SciPy 是用于数学、科学和工程的软件。

需要numpy+mkl。

在安装 scipy 之前安装 numpy+mkl。

mkl 很重要!!但是之前没有人说过这件事!

然后我安装了 mkl:

C:\Users\****\Desktop\a> pip install mkl_service-1.1.2-cp35-cp35m-win32.whl
Processing c:\users\****\desktop\a\mkl_service-1.1.2-cp35-cp35m-win32.whl
Installing collected packages: mkl-service
Successfully installed mkl-service-1.1.2

然后我安装了 SciPy:

C:\Users\****\Desktop\a>pip install scipy-0.18.1-cp35-cp35m-win32.whl
Processing c:\users\****\desktop\a\scipy-0.18.1-cp35-cp35m-win32.whl
Installing collected packages: scipy
Successfully installed scipy-0.18.1

成功了~是的:)

提示:你可以谷歌“whl_file_name.whl”来知道在哪里下载它~ :)

更新:

完成所有这些步骤后,您会发现您仍然无法在 Python 3 中使用 SciPy。如果您打印“import scipy”,您会发现有错误消息,但不用担心,还有一件事要做。这里 ——把那行注释掉,简单有用。

from numpy._distributor_init import NUMPY_MKL

我保证这是最后一件事:)

在此处输入图像描述

PS:在所有这些步骤之前,您最好先安装 NumPy。使用这个命令非常简单:

pip install numpy
于 2016-10-27T02:41:39.060 回答
1

我没试过,但你可能想下载这个版本Portable Python。它带有在 Python 2.5.4 上运行的 Scipy-0.7.0b1。

于 2009-10-04T23:13:37.507 回答
1

安装 Python 发行版,http://www.python.org/download/

下载并安装 Anaconda Python 发行版。

如果您希望 NumPy、SciPy 或 Matplotlib 在 Python 3.3 中工作,或者只是像这样使用它以仅具有 Python 2.7 和更早的功能,请将 Anaconda Python 分发链接到 Python 3.3。

博文Anaconda Python Distribution Python 3.3 链接提供了有关 Anaconda 的更多详细信息。

于 2013-04-30T11:45:40.120 回答
0

我在 32 位机器上遇到了同样的错误。我通过使用以下脚本注册我的 Python 安装来修复它:

http://effbot.org/zone/python-register.htm

该脚本也可能使 64 位 superpack 安装程序工作。

于 2010-05-03T18:41:43.327 回答
0

你可以下载一个科学的 Python 发行版。这里提到的其中之一:https ://scipy.org/install.html

或者如果上述内容不适合您,请从此处pip install的 whl 文件中获取。

http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy

于 2017-02-14T07:40:46.393 回答
0

好的,已经说了很多,但是以防万一以前的答案都不起作用,您可以尝试;

https://www.scipy.org/install.html

根据他们;

对于大多数用户,尤其是在 Windows 上,安装 SciPy 堆栈包的最简单方法是下载以下 Python 发行版之一,其中包括所有关键包:

  • Anacond:SciPy 堆栈的免费发行版。支持 Linux、Windows 和 Mac。
  • Enthought Canopy:免费和商业版本包括核心 SciPy 堆栈包。支持 Linux、Windows 和 Mac。
  • Python(x,y) 基于 Spyder IDE 的免费发行版,包括 SciPy 堆栈。仅限窗户。
  • WinPython:包含 SciPy 堆栈的免费发行版。仅限窗户。
  • Pyzo:基于 Anaconda 和 IEP 交互式开发环境的免费发行版。支持 Linux、Windows 和 Mac。

对我来说,Anaconda 确实解决了这个问题。请记住在下载之前检查位(32/64 位)版本,并将编译器重新调整为与您正在安装的 Python 发行版一起安装的 Python 实现。

于 2017-02-16T07:02:36.573 回答
0

好的,在这里我将分享我在没有命令行的情况下在我的 Windows PC 上安装 SciPy 所做的工作。

我的 PC 配置是 Windows 7 64 位和 Python 2.7

  • 首先,我从http://www.lfd.uci.edu/~gohlke/pythonlibs/ 下载所需的包 (哪个版本与您的配置匹配:cp27==>python2.7 & cp35==>3.5)
  • 其次,我使用7-Zip 提取文件(也可以使用任何拉链,如WinRAR
  • 第三,我复制scipy我提取的文件夹并将其粘贴到C:\Python27\Lib\site-packages(或将其放在您的 PC 中的确切位置,例如..\..\Lib\site-packages

注意:在以同样的方式安装 SciPy 之前,您必须先安装 NumPy。

于 2017-03-08T06:17:37.660 回答
0

几天后我找到了这个解决方案。

首先,您要安装哪个 Python 版本?

如果你想要 Python 2.7 版本:

第1步:

scipy‑0.19.0‑cp27‑cp27m‑win32.whl

scipy‑0.19.0‑cp27‑cp27m‑win_amd64.whl

numpy‑1.11.3+mkl‑cp27‑cp27m‑win32.whl

numpy‑1.11.3+mkl‑cp27‑cp27m‑win_amd64.whl

如果你想要 Python 3.4 版本:

scipy‑0.19.0‑cp34‑cp34m‑win32.whl

scipy‑0.19.0‑cp34‑cp34m‑win_amd64.whl

numpy‑1.11.3+mkl‑cp34‑cp34m‑win32.whl

numpy‑1.11.3+mkl‑cp34‑cp34m‑win_amd64.whl

如果你想要 Python 3.5 版本:

scipy‑0.19.0‑cp35‑cp35m‑win32.whl

scipy‑0.19.0‑cp35‑cp35m‑win_amd64.whl

numpy‑1.11.3+mkl‑cp35‑cp35m‑win32.whl

numpy‑1.11.3+mkl‑cp35‑cp35m‑win_amd64.whl

如果你想要 Python 3.6 版本:

scipy‑0.19.0‑cp36‑cp36m‑win32.whl

scipy‑0.19.0‑cp36‑cp36m‑win_amd64.whl

numpy‑1.11.3+mkl‑cp36‑cp36m‑win32.whl

numpy‑1.11.3+mkl‑cp36‑cp36m‑win_amd64.whl

链接:点击

完成安装后,转到您的目录。

例如我的目录:

cd C:\Users\asus\AppData\Local\Programs\Python\Python35\Scripts>
pip install [where/is/your/downloaded/scipy_whl.]

第2步:

NumPy + MKL

再次来自基于 Python 版本的同一网站:

之后在脚本文件夹中再次使用相同的东西:

cd C:\Users\asus\AppData\Local\Programs\Python\Python35\Scripts>

pip3 install [where/is/your/downloaded/numpy_whl.]

并在 Python 文件夹中进行测试。

Python35>python
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import scipy
于 2017-06-15T12:51:45.910 回答