如何在64位Windows上安装SciPy?

2024-06-25 06:37:43 发布

您现在位置:Python中文网/ 问答频道 /正文

如何在系统上安装SciPy?

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

运行SciPy superpack安装程序会导致 对话框中的消息:

Cannot install. Python version 2.6 required, which was not found in the registry.

我已经安装了Python2.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超级包安装程序 numpy-1.3.0rc2-win32-superpack-python2.6.exe (direct download URL,4782592字节)。运行此安装程序 导致了相同的消息,“无法安装。Python 需要版本2.6,但在注册表中找不到。 更新:实际上有一个适用于NumPy的安装程序-请参阅问题的开头。

步骤2

试图以另一种方式安装NumPy。下载了zip 包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千字节)。

这似乎奏效了。我现在可以在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。下载了zip 软件包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=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\

Tags: numpyurl字节binlocalsoftwarefilesscipy
3条回答

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

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

您需要先从具有系统范围(aka)管理员权限的命令提示符安装NumPy。程序文件)安装:

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

包含--user标记,以便从非管理命令提示符安装到当前用户的应用程序文件夹(通常在Windows上为%APPDATA%\Python):

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

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

我没有试过,但你可能想下载this versionPortable Python。它附带了在Python2.5.4上运行的Scipy-0.7.0b1。

简而言之:Windows 64位支持目前仍在进行中。超级包当然不会在64位Python上工作(但它在32位Python上应该工作得很好,甚至在Windows 64位上也是如此)。

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

相关问题 更多 >