【问题标题】:PyDev unresolved import with sklearnPyDev 使用 sklearn 无法解析导入
【发布时间】:2012-08-14 19:17:55
【问题描述】:

我在 Mountain Lion 上的 Eclipse 4.2 中运行 PyDev。我安装了SciPy Superpack,并且可以在 Python 解释器和 IPython 中使用所有的包——包括 Scikit-learn 和 MatPlotLib。但是,当我尝试在 PyDev 中导入它们时,我收到“未解决的导入”错误。

我从 Python.org 安装了 Python 2.7.3,并验证 PyDev 指向正确的解释器。我还尝试将 sklearn 和 matplotlib 目录(通过 sklearn.__file__ 的路径验证)添加到 PyDev 设置中的 System PYTHONPATH。这并没有解决问题。

知道我还应该尝试什么吗?

【问题讨论】:

  • 您是否将它们添加到强制内置函数中,在同一个偏好位置?另外,您能否发布一个添加到 PYTHONPATH 的路径示例?
  • 是的,我也试过了。它消除了最初的未解决的导入错误,但一旦我尝试使用模块实际包含的任何内容,它就会再次抛出。例如,“从 sklearn 导入数据集”仍未解决。
  • 添加到 PYTHONPATH 的路径示例:'/Library/Python/2.7/site-packages/scikit_learn-0.12_git-py2.7-macosx-10.8-intel.egg/sklearn/'
  • 是的,路径不正确。您只需要站点包级别和鸡蛋级别。不在里面。您现在拥有的方式将允许:导入数据集
  • '/Library/Python/2.7/site-packages/' 也在 PYTHONPATH 中。即使将包添加到 Forced Builtins 并且只有 PYTHONPATH 中的站点包级别,它仍然无法正常工作。

标签: python eclipse macos pydev scikit-learn


【解决方案1】:

从您的评论示例来看,您使用的路径似乎位于错误的深度。

更改自:
/Library/Python/2.7/site-packages/scikit_learn-0.12_git-py2.7-macosx-10.8-intel‌​.egg/sklearn

收件人:
/Library/Python/2.7/site-packages/scikit_learn-0.12_git-py2.7-macosx-10.8-intel‌​.egg

无法找到包级别名称,因为您在其下方指定。通常,python 解释器将通过简单地存在于站点包中来解析所有鸡蛋,来自放置在那里的“.pth”文件引用。但我认为 pyDev 需要将这些鸡蛋显式添加到 PYTHONPATH 中。

【讨论】:

  • 谢谢!我试过了,现在它不会在导入行产生错误,但仍然不允许我使用任何实际成员。所以“从 sklearn 导入数据集”或“从 matplotlib 导入 pyplot”工作,但随后“iris = datasets.load_iris()”或“pyplot.plot([1,2,3])”导致“来自导入的未知变量" 错误。
  • 实际上:当我运行它时它会起作用;但是,错误仍然存​​在。
  • 无论如何运行它仍然可以工作,因为解释器会找到它。问题是让 pyDev 在 IDLE 中解决它
猜你喜欢
  • 2018-01-02
  • 2012-07-20
  • 1970-01-01
  • 2015-11-04
  • 1970-01-01
  • 2023-03-31
  • 1970-01-01
  • 2018-09-10
  • 1970-01-01
相关资源
最近更新 更多