Pydev显示未解析的导入,但脚本运行?

时间:2013-10-05 16:57:34

标签: python-3.x pydev

我正在使用PyDev。

我正在尝试将项目类组织成包。

e.g。在一个文件夹中,我在/libraries/fund_price_library.py

有一个模块

在我项目的另一个文件中,我尝试使用以下方式导入:

from libraries.fund_price_library import FundPriceLibrary as fpl

PyDev用红色标出“FundPriceLibrary as fpl”,用这个错误标出:

unresolved import fpl

但是,我的脚本运行得很好,所以我相信我正在正确地进行导入。

我的项目中有很多类似的错误,看起来很乱。但是,我的python代码有效,所以我假设我正在正确导入。

如何抑制这些错误?

5 个答案:

答案 0 :(得分:9)

This question可能会解决您的问题。

  

在你的pydev项目的属性中,有一个名为“PyDev - PYTHONPATH”的窗格,其中有一个名为“External Libraries”的子窗格。您可以使用该窗格将源文件夹(具有 init .py的任何文件夹)添加到路径中。然后,您的项目代码将能够从这些源文件夹中导入模块。

可能只是PyDev不知道在哪里找到文件。

答案 1 :(得分:2)

Python 3有implicit namespace packages,因此子包中的__init__.py文件不是必需的。然而,似乎PyDev仍然需要它们。

我的解决方案是在子包中添加空__init__.py个文件。

答案 2 :(得分:2)

我在一个新项目中遇到了这个问题,出现“未解决的导入”错误,实际上尚未使用导入的符号。
事实证明,只有当Eclipse的“项目”名称和底层的python“包”名称相同时,这才是问题。当我将Eclipse项目名称更改为其他名称时,错误消息消失了(似乎某处可能有错误)。

BTW:使用Eclipse 2018-12(4.10.0)和PyDev版本7.1.0.201902031515

答案 3 :(得分:1)

我有同样的问题。解决方案是(我有Eclipse 4.6 w / Pydev 5.6):

Project > Properties > PyDev - PYTHONPATH > tab Source Folders

执行此操作:Add source folder(按钮)并添加您的(当前)源目录,在我的情况下,它是src subdir,因此窗口中的新项目apears: /${PROJECT_DIR_NAME}/src

所以现在我在那里:

/${PROJECT_DIR_NAME}
/${PROJECT_DIR_NAME}/src

我的PyDev现在很高兴:)

答案 4 :(得分:0)

快速而肮脏的解决方案:

也许您可以通过在代码中使用标记UnresolvedImport来告诉pydev忽略导入错误。 有关该主题的讨论,请参阅how-can-i-make-the-pydev-editor-selectively-ignore-errors

PS如果你在eclipse中使用pydev,ctrl + 1应该建议这个解决方案。