【问题标题】:PyDev - Eclipse can import numpy but none of it's functions?PyDev - Eclipse 无法导入 numpy 但没有任何功能?
【发布时间】:2013-11-29 11:03:17
【问题描述】:

我在 Eclipse 中导入 numpy 模块时遇到问题。 import numpy 行运行没有问题。但是,如果我尝试使用 numpy 模块中的函数(例如 numpy.zeros、numpy.uint8 等),我会收到错误 Undefined variable from import

这些函数在 python 解释器或实际运行 python 脚本中工作正常。问题是 Eclipse 识别模块功能。添加其他此类模块我没有遇到任何问题。我使用的所有模块都来自unofficial windows binaries。安装它们后,我只需将模块的目录添加到 Eclipse 解释器库中即可使它们工作。这对 numpy 来说是不成功的。我什至尝试将 numpy 包的每个子文件夹添加到解释器库中。我已经使用 Python 的详细运行检查了解释器中的导入,以查看导入期间发生的所有情况,但我没有看到太多我尚未尝试添加到 Eclipse 解释器库中的内容。我尝试使用早期版本的 numpy 和官方 numpy 站点的版本,但结果相同。我也尝试将 numpy 目录添加到项目 PYTHONPATH 中,但也没有成功。

我使用的是 Windows 7、Python 2.7 和所有包(和 python)的 64 位版本。

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

【问题讨论】:

  • 明确地说,您认为这是来自 PyDev 的静态代码分析系统的错误消息,而不是在 PyDev 中运行时实际阻止程序执行的运行时异常,对吗?
  • @SilasRay:是的,没错。

标签: python eclipse python-2.7 numpy pydev


【解决方案1】:

我敢打赌,由于 numpy.__init__ 有条件地使用 if __NUMPY_SETUP__ 块将自身加载到 import 上,静态分析器不知道哪个分支将运行,因此无法识别模块命名空间中的最终结果任何。您应该尝试将 NumPy 添加到 PyDev 中的forced builtins。我在使用其他库时也遇到过类似的问题(例如,flask.ext 之外的任何东西),但基本上只是学会了忽略它们。

【讨论】:

  • 我尝试将numpy 直接添加到强制内置,但这似乎并不能解决问题。将其添加为强制内置以使其正常工作时,我需要做些什么特别的事情吗?
  • 就像我说的,我刚刚学会了在很大程度上忽略它们,所以我没有太多按摩这种东西的经验。我只能说,在网上闲逛说你需要在系统路径上安装 numpy(不仅仅是项目和/或 python 路径),并且有时你需要等待一段时间才能添加强制内置函数,如PyDev 必须启动一个 shell 并刺激模块以从中提取所需的信息。
  • 我想在另一个解决方案出现之前,我会用import numpy.__init__ as numpy #@UnresolvedImport 做类似的事情。这样我仍然得到了一切,并且屏幕上没有错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-02
  • 1970-01-01
  • 1970-01-01
  • 2010-12-26
  • 2011-09-30
相关资源
最近更新 更多