2012-12-12 151 views
7

每当我从numpy导入一个模块时,我在Eclipse 3.7.2中得到“Undefined variable from import”错误在Linux Mint Maya(Cinnamon)上的PyDev 2.7.1错误。只有导入numpy时才会出现问题;其他模块工作得很好。在eclipse中导入numpy时导入的“Undefined variable”pydev

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

例如:

import numpy as np 

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

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

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

代码可以在Eclipse或终端中正常运行。这个问题只存在于Eclipse-PyDev编辑器中。

回答

2

LD_LIBRARY_PATH必须包含MKL库的路径。即使LD_LIBRARY_PATH设置正确,它也必须在Eclipse的右下角的“环境”选项卡下的Window> Preferences> Interpreter-Python下明确指定。添加一个名为“LD_LIBRARY_PATH”的新变量并粘贴$LD_LIBRARY_PATH的内容。

完成后,如果将某行添加到使用numpy对象的代码中,以便再次检查导入,则错误只会从代码中消失。

+0

这似乎不适用于我。 – user10

+0

我的问题:它在一个会话中工作正常。再次退出并启动LiClipse后,我收到了这个错误。第二段解决了我的问题。对于我来说,第一个动作是不必要的(或者我最初配置LiClipse时可以做类似的事情)。 – BenB

+1

似乎有相当多的组件使PyDev(Eclipse/Liclipse)识别numpy。首先,你必须检查numpy是否正确安装,如@ElDuderino所示:'>>> from numpy import *'然后你必须“教”pydev为numpy准备环境。对我来说,这是numpy文件的缺失路径。 – user1898037

1

MKL库和numpy是一样的吗? @ user1898039的答案对我来说没有意义(我不知道我应该使用哪个属性)

我发现了另一种解决此问题的方法 - 我检查了python命令行以查看numpy是否已安装有致电:

>>> import from numpy *

并不是这样,尽管numpy的是显示了在中的PyDev Python解释器属性中的“强制内置命令”选项卡下,这是不提供给蟒蛇从命令行和我想象这导致PyDev内的问题。

所以,我解决了问题通过去numpy网站并安装最新版本的windows。从技术上讲,我去了一些其他网站,有Windows64的安装程序的AMD64版本,买你知道,一样的。之后,我试图让PYTHONPATH变量重新计算所有的库(这可能是不必要的),但是在所有对array()的调用中,文件中仍然显示错误。我在numpy软件包上做了一个自动完成功能,从列表中选择array(),并且突然清除所有错误,现在一切正常。

0

我能够通过添加下面的路径PYTHONPATH(Pydev的=> Python解释=>选择翻译=>库)来解决此问题:

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

安装包(其中包括):

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

我设法通过更新Eclipse中的Phyton解释器来修复它。点击成功安装Numpy模块后的应用按钮。

+0

哪个操作系统/ Eclipse版本可以实现这个功能?没有为我工作。可能是操作系统或Eclipse版本的东西。我使用Eclipse 3.6.2运行Windows 7 32位。 (古代,我知道......) –