如何在64位Windows系统上安装SciPy?

65

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

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

运行SciPy超级包安装程序会在对话框中显示以下消息:

无法安装。需要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超级包安装程序numpy-1.3.0rc2-win32-superpack-python2.6.exe (直接下载链接, 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])

第三步

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

第四步

尝试以另一种方式安装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,内存为8GB,已安装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.
>>>

从命令行窗口使用SET命令设置的PATH的值:

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\

这里有很多其他的包:http://www.lfd.uci.edu/~gohlke/pythonlibs/,但我没有看到一个名为“SciPy”的包。我看到了“ScientificPython”和SciPy子包,但没有SciPy本身。这是否意味着它仍然在3个月后不可用,还是我漏掉了什么? - endolith
@endolith https://pypi.python.org/pypi/scipy/0.7.0 - Inversus
@Inversus: http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy - endolith
16个回答

1

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


谢谢!它运行得很好,是迄今为止最简单的使其工作的方法(尽管它是32位版本,因此不是64位版本的SciPy)。而且它不会影响现有的Python 64位版本安装。 - Peter Mortensen
对于Python 3,一个大致相等的版本可以在这里找到:http://portablepython.com/wiki/PortablePython3.2.5.1/ - Gaffi

0

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

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

这个脚本有可能也能让64位超级安装程序生效。


0

0

好的,已经说了很多,但是以防之前的回答都不起作用,你可以尝试一下以下方法;

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

根据他们的说法:

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

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

对我来说,Anaconda确实解决了这个问题。请记得在下载之前检查位(32/64位)版本,并重新调整编译器以与您正在安装的Python分发中安装的Python实现相匹配。


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

0

好的,我要分享一下我在Windows电脑上安装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
注意:在安装SciPy之前,您必须先安装NumPy。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接