【发布时间】:2012-08-16 02:01:39
【问题描述】:
类似于How to import numpy in python shell,但有不同的错误和上下文。
现在,解决问题。我成功地安装了 numpy 1.7.0,虽然我必须先做一些注册表版本,但在尝试将它导入 shell 时,我得到了这么多错误:
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
from numpy import *
File "C:\Python32\lib\site-packages\numpy\__init__.py", line 137, in <module>
from . import add_newdocs
File "C:\Python32\lib\site-packages\numpy\add_newdocs.py", line 9, in <module>
from numpy.lib import add_newdoc
File "C:\Python32\lib\site-packages\numpy\lib\__init__.py", line 4, in <module>
from .type_check import *
File "C:\Python32\lib\site-packages\numpy\lib\type_check.py", line 8, in <module>
import numpy.core.numeric as _nx
File "C:\Python32\lib\site-packages\numpy\core\__init__.py", line 5, in <module>
from . import multiarray
ImportError: DLL load failed: %1 is not a valid Win32 application.
注意:我使用 from numpy import *. 当我导入 pygame 时没有发生这种情况,那么问题是什么?我知道不同的模块有不同的问题(例如必须制作注册表版本才能安装......)。出了什么问题,我该如何解决问题?我发现了类似的投诉here。
【问题讨论】:
-
您是从 SourceForge 上的 .exe 安装程序安装的吗?我没有看到 1.7.0 numpy 的。您是否使用了错误的安装程序?如果自己构建,错误表明它是 64 位构建并使用 32 位 Python。我在 Python 3.2 上使用了 1.6.2 安装程序,没有任何问题或 hack。
-
我从这里得到了我的:sourceforge.net/projects/numpy/files/NumPy/1.7.0beta/…。如果这不起作用,我会尝试 1.6.2。
-
我的错,我一开始没有看到3.2版本。它应该像 1.6.2 版本对我一样“正常工作”。但是,没有 64 位安装程序。您使用的是 64 位 Python 安装吗?错误消息仍然表明 DLL 不是正确的类型。
-
如果你问我安装的 python 版本,我想我安装的是 64 位版本。但是,我一直认为 32 位模块应该 与 64 位 python 一起工作(对吗?我不确定,这纯粹是猜测)。无论如何,我安装了 1.6.2 并尝试导入无济于事。但是,我没有摆脱 1.7.0,因为我没有看到 unistall 选项。
-
不,如果您有 64 位 Python,则需要 64 位扩展。不过,您可以在 64 位 Windows 上运行带有 32 位扩展的 32 位 Python。