在eclipse pydev中导入numpy时“导入的未定义变量”

时间:2012-12-12 14:46:29

标签: eclipse import numpy environment-variables pydev

每当我从numpy导入模块时,我在Linux Mint Maya(Cinnamon)上的Eclipse 3.7.2 PyDev 2.7.1中得到“来自导入的未定义变量”错误。只有在导入numpy时才会出现问题;其他模块工作正常。

信息:numpy是针对英特尔MKL库编译的。 Python 2.7.3 [GCC 4.6.3]

示例:

import numpy as np

a = np.array([1, 2])

PyDev编辑器中的错误消息: “导入中的未定义变量:数组”

我得到了其他numpy子模块的类似错误。

代码在Eclipse或终端中正常运行。问题只出现在Eclipse-PyDev编辑器中。

5 个答案:

答案 0 :(得分:2)

LD_LIBRARY_PATH必须包含MKL库的路径。即使LD_LIBRARY_PATH设置正确,也必须在Eclipse>中的Eclipse中明确指定。偏好>解释器 - Python,位于右侧的“环境”选项卡下。添加一个名为“LD_LIBRARY_PATH”的新变量并粘贴$LD_LIBRARY_PATH

的内容

一旦完成,如果在使用numpy对象的代码中添加一行,以便再次检查导入,则错误将仅从代码中消失。

答案 1 :(得分:1)

MKL库和numpy是一回事吗? @ user1898039的答案对我来说没有意义(我不确定我应该使用哪条路径。

我找到了解决此问题的另一种方法 - 我检查了python命令行,看看是否通过调用安装了numpy:

>>> import from numpy *

事实并非如此。因此,尽管Numpy在PyDev中出现在强迫建筑物下面#34;在Python解释器属性中的选项卡中,从命令行可以使用python,我想这会导致PyDev中的问题。

所以,我通过访问numpy站点并安装最新版本的Windows来解决问题。从技术上讲,我去了一个其他网站,有一个AMD64版本的Windows安装程序,买你知道,同样的。之后我尝试获取PYTHONPATH变量以重新计算所有库(这可能是不必要的),但是在对array()的所有调用中文件中仍然显示错误。我在numpy包上做了一个autocomplete来获取函数列表,从列表中选择了array(),所有突然发现的所有错误都被清除了,现在一切都很好。

答案 2 :(得分:1)

我设法通过在Eclipse中更新Phyton解释器来修复它。成功安装Numpy模块后,只需单击Apply按钮。

答案 3 :(得分:0)

我能够通过向PYTHONPATH添加以下路径来解决这个问题(Pydev => Python Interpreters =>选择一个Interpreter => Libraries):

/usr/local/anaconda/lib/python2.7/lib/lib-dynload

已安装的软件包(以及其他软件包):

conda==3.10.1
numpy==1.9.2
scipy==0.15.1

答案 4 :(得分:0)

我偶尔会在重新启动 Eclipse 后看到 Pandas 对象的这些错误,尽管我当然在我的文件顶部有“import pandas as pd”。

我发现了一个简单的解决方法:我只需删除导入语句,保存文件,将其粘贴回并重新保存。错误消失了!

我使用的是这个版本的 Eclipse:

面向 PHP 开发人员的 Eclipse

版本:Mars.2 发布 (4.5.2) 版本号:20160218-0600