【问题标题】:How do I install SciPy on 64 bit Windows?如何在 64 位 Windows 上安装 SciPy?
【发布时间】:2010-12-03 18:42:46
【问题描述】:

如何在我的系统上安装 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 安装 ),但我不知道任何注册表故事。

注册表项似乎已经存在:

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 (direct download URL,4782592 字节)。运行此安装程序 导致相同的消息,“无法安装。Python 需要 2.6 版,但在注册表中找不到。”。 更新:实际上有一个适用于 NumPy 的安装程序 - 请参阅问题的开头。

第 2 步

尝试以另一种方式安装 NumPy。下载了压缩包 包 numpy-1.3.0rc2.zip (direct download URL, 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行长 transcript (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 (direct download URL, 45597175 字节)。运行此安装程序导致消息 列在开头

第 4 步

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

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

这并没有取得太大的成就 - 这是一个transcript(大约 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\

【问题讨论】:

标签: python windows 64-bit numpy scipy


【解决方案1】:

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

首先,您要安装哪个 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

链接:click

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

比如我的目录:

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

【讨论】:

    【解决方案2】:

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

    我的电脑配置是 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

    注意:您必须先安装 NumPy,然后才能以同样的方式安装 SciPy。

    【讨论】:

      【解决方案3】:

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

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

      根据他们的说法;

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

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

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

      【讨论】:

        【解决方案4】:

        您可以下载科学的 Python 发行版。提到的其中之一herehttps://scipy.org/install.html

        如果上述方法不适合您,则来自 whl 文件 herepip install

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

        【讨论】:

          【解决方案5】:

          我在 64 位 Windows 8.1 机器上安装了 32 位 Python 3.5。我几乎尝试了在 StackOverflow 上可以找到的所有方法,但没有一种方法有效!

          然后在here 我找到了它。它说:

          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”,您会发现有错误消息,但不要担心,只有一件事要做. Here ——把那行注释掉就行了,简单实用。

          from numpy._distributor_init import NUMPY_MKL
          

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

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

          pip install numpy
          

          【讨论】:

            【解决方案6】:

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

            【讨论】:

              【解决方案7】:

              安装 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 linking 提供了有关 Anaconda 的更多详细信息。

              【讨论】:

                【解决方案8】:

                简短回答: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 构建基础架构不能很好地支持。

                【讨论】:

                • Enthought 提供 64 位版本的 EPD,可免费用于学术用途(他们支持 win64 端口),并使用 MKL 来提高速度。还有一组非官方的二进制文件,链接如下
                • 64 位是否可用于学术用途?太好了 - 从网站上看起来只有 32 位是免费的。
                【解决方案9】:

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

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

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

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

                包含 --user 标志以从 非管理员 CMD 提示:

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

                然后对 SciPy 做同样的事情:

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

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

                【讨论】:

                  【解决方案10】:

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

                  更新:这个答案早就被遗忘了,直到一个赞成票让我回到了它。这时候,我会在Anaconda中第二次endolith's suggestion,这是免费的。

                  【讨论】:

                    【解决方案11】:

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

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

                    This person

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

                    它已经准备好 64 位...

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

                    更新:

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

                    【讨论】:

                      【解决方案12】:

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

                      【讨论】:

                        【解决方案13】:

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

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

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

                        【讨论】:

                          【解决方案14】:

                          我还没有尝试过,但您可能想下载this versionPortable Python。它带有在 Python 2.5.4 上运行的 Scipy-0.7.0b1。

                          【讨论】:

                          • 谢谢!它工作得很好,是迄今为止让它工作的最简单的方法(尽管它是 32 位版本,因此不是 SciPy 的 64 位版本)。而且它不会与现有的 64 位版本的 Python 安装混淆。
                          • 对于 Python 3,可以使用大致等效的版本here
                          【解决方案15】:

                          正如 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 所说。查看记录,了解它在哪里寻找这些库的编译版本。

                          【讨论】:

                          • NumPy(至少 v1.5.1)不再给出这个警告。
                          【解决方案16】:

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

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

                          【讨论】:

                          • 当我运行 Fredrik Lundh 的脚本时,我得到:“***无法注册!***你可能有另一个 Python 安装!”。我已经用我系统上的注册表项更新了这个问题。 (其中一些变量是:pythonpath: 'd:\\Python262;d:\\Python262\\Lib\\;d:\\Python262\\DLLs\\', regpath: 'SOFTWARE\\Python\\Pythoncore\ \2.6\\').
                          • 如果 `HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.6` 存在,则尝试将其删除并再次运行。另外 - 您是否以足够的权限运行它?
                          • 我试了一下,得到:“--- Python 2.6 现已注册!”。但是在运行 scipy-0.7.1rc3-win32-superpack-python2.6.exe 时结果相同。是否可以在 64 位版本的 Python 上工作? (是的,我有太多特权:-)(管理员)。我知道出于安全原因我不应该这样做。)
                          猜你喜欢
                          • 2014-12-26
                          • 2012-06-13
                          • 2017-04-28
                          • 2011-07-13
                          • 2017-04-10
                          • 2013-12-06
                          • 1970-01-01
                          • 1970-01-01
                          • 1970-01-01
                          相关资源
                          最近更新 更多