如何在64位Windows上安装SciPy?

时间:2009-10-04 19:01:43

标签: python windows 64-bit numpy scipy

如何在我的系统上安装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。下载了拉链 package numpy-1.3.0rc2.zip(direct download URL,2404011 bytes), 以正常方式将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\

16 个答案:

答案 0 :(得分:63)

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

确保下载&amp;安装与您的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 标志,以便安装到当前用户的应用程序文件夹(Windows上通常为%APPDATA%\Python )来自非管理员 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

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

答案 1 :(得分:32)

简短回答:此时Windows 64位支持仍在进行中。 superpack肯定不适用于64位Python(但它应该可以在32位Python上运行,即使在Windows 64位上也是如此)。

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

答案 2 :(得分: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所说。请参阅脚本以查找这些库的编译版本。

答案 3 :(得分:5)

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

答案 4 :(得分:3)

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

更新:这个答案早已被遗忘,直到一个upvote让我回到它。这时,我将endolith's suggestion Anaconda的第二个{{3}},这是免费的。

答案 5 :(得分:3)

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

免费且包含许多能够顺利合作的东西。

This person

  

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

     

准备好了64位......

虽然我不太清楚这意味着什么。

<强>更新

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

答案 6 :(得分:2)

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

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

答案 7 :(得分:2)

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

答案 8 :(得分:2)

我在64位Windows 8.1计算机上安装了32位Python 3.5。我只是尝试了几乎我在Stack Overflow上找到的所有方法,没有人工作!

然后在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

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

Enter image description here

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

pip install numpy

答案 9 :(得分:1)

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

答案 10 :(得分:1)

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

下载并安装Anaconda Python发行版。

如果您希望NumPy,SciPy或Matplotlib在Python 3.3中运行,请将Anaconda Python分发链接到Python 3.3,或者只使用它来使用Python 2.7及更早版本的功能。

博客文章 Anaconda Python Distribution Python 3.3 linking 提供了有关Anaconda的更多详细信息。

答案 11 :(得分:0)

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

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

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

答案 12 :(得分:0)

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

如果以上内容不适合您,请来自whl文件herepip install

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

答案 13 :(得分:0)

好的已经说了很多,但是如果以前的答案没有任何效果,你可以试试;

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

据他们说;

  

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

     
      
  • Anacond:A   免费分发SciPy堆栈。支持Linux,Windows和   Mac中。
  •   
  • Enthought Canopy:免费版和商业版   包括核心SciPy堆栈包。支持Linux,Windows和   Mac中。
  •   
  • Python(x,y)包括SciPy在内的免费发行版   堆栈,基于Spyder IDE。仅限Windows。
  •   
  • WinPython:A   免费发布,包括SciPy堆栈。仅限Windows。
  •   
  • Pyzo:基于Anaconda和IEP互动的免费发行版   发展环境。支持Linux,Windows和Mac。
  •   

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

答案 14 :(得分:0)

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

  

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

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

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

答案 15 :(得分: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

链接: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