17

我正在使用 PyDev。

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

例如,在一个文件夹中,我在 /libraries/fund_price_library.py 有一个模块

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

from libraries.fund_price_library import FundPriceLibrary as fpl

PyDev 用红色下划线“FundPriceLibrary as fpl”,用以下错误标记它:

unresolved import fpl

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

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

如何抑制这些错误?

4

5 回答 5

13

这个问题可能会解决您的问题。

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

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

于 2013-10-14T16:42:23.387 回答
5

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

Project > Properties > PyDev - PYTHONPATH > tab Source Folders

这样做:(Add source folder按钮)并添加您的(当前)源目录,在我的情况下它是src子目录,因此新项目出现在窗口中: /${PROJECT_DIR_NAME}/src

所以现在我有这个:

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

我的 PyDev 现在很开心 :)

于 2017-04-17T14:59:02.873 回答
4

Python 3 具有隐式命名空间包,因此__init__.py子包中的文件不是强制性的。但是,PyDev 似乎仍然需要它们。

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

于 2017-11-23T14:18:10.540 回答
3

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

顺便说一句:使用 Eclipse 2018-12 (4.10.0),PyDev 版本 7.1.0.201902031515

于 2019-04-05T00:30:06.957 回答
0

快速而肮脏的解决方案:

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

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

于 2013-10-14T16:01:21.747 回答