如何在64位Windows上安装SciPy?

Pet*_*sen 64 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"
Run Code Online (Sandbox Code Playgroud)

到目前为止我做了什么:

步骤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(直接下载URL,2404011字节),以正常方式将zip文件解压缩到临时目录,D:\ temp7 \numpy-1.3.0rc2(其中setup.py和README) .txt是).然后我打开了一个命令行窗口,然后:

d:
cd D:\temp7\numpy-1.3.0rc2
setup.py install
Run Code Online (Sandbox Code Playgroud)

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

这似乎有效.我现在可以用Python做到这一点:

import numpy as np
np.random.random(10)
Run Code Online (Sandbox Code Playgroud)

结果如下:

array([ 0.35667511,  0.56099423,  0.38423629,  0.09733172,  0.81560421,
        0.18813222,  0.10566666,  0.84968066,  0.79472597,  0.30997724])
Run Code Online (Sandbox Code Playgroud)

第3步

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

第4步

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

d:
cd D:\temp7\scipy-0.7.1
setup.py install
Run Code Online (Sandbox Code Playgroud)

这没有达到太多 - 这是一个成绩单(约95行).

它失败了:

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

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

已安装的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.
>>>
Run Code Online (Sandbox Code Playgroud)

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\
Run Code Online (Sandbox Code Playgroud)

小智 63

有关NumPySciPy的非官方64位安装程序,请访问http://www.lfd.uci.edu/~gohlke/pythonlibs/

确保下载并安装与CPython版本和位数匹配的软件包(也就是轮子)(即cp35= Python v3.5; win_amd64= x86_64).

你想先安装NumPy ; 从具有管理员权限的CMD提示符安装系统范围(也称为Program Files):

C:\>pip install numpy?<version>+mkl?cp<ver-spec>?cp<ver-spec>m?<cpu-build>.whl
Run Code Online (Sandbox Code Playgroud)

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

C:\>pip install --user numpy?<version>+mkl?cp<ver-spec>?cp<ver-spec>m?<cpu-build>.whl
Run Code Online (Sandbox Code Playgroud)

然后为SciPy做同样的事情:

C:\>pip install [--user] scipy?<version>?cp<ver-spec>?cp<ver-spec>m?<cpu-build>.whl
Run Code Online (Sandbox Code Playgroud)

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


Dav*_*eau 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构建基础架构不能很好地支持它.

  • 64位是否可用于学术用途?这将是伟大的 - 从网站看起来只有32位免费提供. (2认同)

Mar*_*wis 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.
Run Code Online (Sandbox Code Playgroud)

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


Ste*_*nes 5

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


pro*_*nal 1

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