2013-11-15 58 views
4

我在Eclipse中导入numpy模块时出现问题。 import numpy行运行没有问题。但是,如果我尝试使用numpy模块中的函数(例如numpy.zeros,numpy.uint8等),则会收到错误Undefined variable from importPyDev - Eclipse可以导入numpy但没有它的功能?

这些函数在python解释器中正常工作或实际运​​行python脚本。问题在于Eclipse识别模块功能。我没有添加其他这样的模块。我使用的所有模块都来自unofficial windows binaries。一旦我安装了它们,我只需将模块的目录添加到Eclipse解释器库中即可使其工作。这对numpy来说是不成功的。我甚至尝试将numpy包的每个子文件夹都添加到解释器库中。我使用Python的详细运行检查了解释器中的导入,以了解导入过程中发生了什么,但是我没有看到太多我没有尝试添加到Eclipse解释器库中的东西。我试图使用早期版本的numpy以及官方numpy网站的版本,但结果相同。我试着将numpy目录专门添加到项目PYTHONPATH中,但也没有成功。

我使用的是Windows 7,Python 2.7以及所有软件包(和python)的64位版本。

有什么建议吗?非常感谢!

+0

要清楚的是,您将PyDev的静态代码分析系统看作是一个错误消息,而不是一个运行时异常,它实际上阻止了您在PyDev中运行时执行的程序正确吗? –

+0

@SilasRay:是的,这是正确的。 – golmschenk

回答

1

我敢打赌,因为numpy.__init__有条件负载本身importif __NUMPY_SETUP__块,静态分析不知道哪个分支将运行,因而只是无法识别的会是什么模块的名字空间结束任何责任。您应该尝试将NumPy添加到PyDev中的forced builtins。我和其他库有类似的问题(例如,关于flask.ext的任何内容),但基本上已经学会了忽略它们。

+0

我试图直接向强制内建中添加'numpy',但似乎没有解决问题。添加它作为内建强制让它起作用时,我需要做什么吗? – golmschenk

+0

就像我说过的,我刚刚学会了大部分时间忽略它们,所以我没有太多的经验按摩这样的事情。我只能说,在网络上打个盹说你需要在系统路径上有numpy(不仅仅是项目和/或python路径),而且你需要稍微等待一下你添加的强制内建函数,比如PyDev必须启动一个shell并激活这些模块以从中提取所需的信息。 –

+0

我猜想,直到另一个解决方案出现我只是做一些类似的'进口numpy .__ init__作为numpy#@ UnresolvedImport'。这样我仍然拥有一切,屏幕上没有任何错误。 – golmschenk

相关问题