我正在使用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代码有效,所以我假设我正在正确导入。
如何抑制这些错误?
答案 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应该建议这个解决方案。