如何将 NumPy 作为模块导入 Eclipse (PyDev)

How to import NumPy as a module into Eclipse (PyDev)

我正在尝试在 Eclipse 中使用 NumPy,我在其中使用 Python 3.4 和 PyDev。我已经安装了 NumPy 版本 1.9.2(带有 setup.py)并且它在 IDLE

中工作正常
>>>import numpy as np
>>>a = np.array([0,1,2,3])
>>>print(a)
[0 1 2 3]

但是当我在 Eclipse 中做同样的事情时,我得到一个错误 No Module named 'numpy'

我已经转到首选项 > PyDev > 解释器 > Python 解释器 > 库

并添加了 NumPy 位置 /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/numpy 并重新启动了我的机器。

我不知道接下来要尝试什么,我是否需要删除并重新配置所有 PyDev 才能使其正常工作?

检查 Eclipse 是否使用正确的 Python 解释器,

import sys
print(sys.version)

在程序开始时。如果它 returns 与您预期的不同,您可能安装了错误的 Python 版本。

问题是您在 PyDev 中使用了 Python 3.4 安装,在终端中使用了 Python 3.5 安装。每个都有自己独立的站点包。所以,当你通过 运行 它的 setup.py 和 Python 3.5 安装 NumPy 时,它被安装到 3.5 站点包中,但是当你在 PyDev 中寻找它时,它不是' t 在 3.4 站点包中。

您可以在您提供的输出中看到版本号 3.5。但是,如果您想绝对确定,可以从 PyDev 内部和终端上 print(sys.version)

无论如何,解决方案是执行以下任一操作:

  1. 同时为 3.4 安装 NumPy。您可以通过 运行 python3.4 setup.py install 来完成此操作(与您对 3.5 所做的相同,但使用 python3.4 而不是 python3)。但是,如果 pip3.4 install numpy 有效,这通常会更好。
  2. 将 PyDev 配置为使用 3.5 而不是 3.4。
  3. 卸载 3.4 或 3.5。您仍然必须执行上述操作之一,但这将不会出错,并减少您将来再次陷入类似困惑的机会。

如果您想知道为什么这没有帮助:

... and added the NumPy location /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/numpy

问题是您添加了 site-packages/numpy 而不是 site-packagesnumpy 包中没有名为 numpy 的包。

但是,您不想通过将 3.5 站点包添加到 3.4 搜索路径来解决问题;许多软件包,尤其是那些需要像 numpy 这样的编译 C 代码的软件包,将无法使用与它们安装的版本不同的 Python 版本。