无法从另一个模块导入模块,但可以从第三个模块导入模块(都在不同的包中)

Cannot import module from another module, but can so from a third module (all in different packages)

我的设置:

project
    extract (package)
    -> extract_step.py 

    text (package)
    -> paragraph.py

    util (package)
    -> paths.py

三个包里都有空 __init__.py。如果重要的话,PyDev 还会显示带有包图标的包。 在 extract_step.py 中,我可以这样导入:

from text.paragraph import Paragraph

并实例化段落对象并使用它们。

在 paths.py 中,我尝试以完全相同的方式导入,但我得到:

ImportError: No module named 'text.paragraph'; 'text' is not a package

我正在使用 Eclipse 和 PyDev 5.3。 Python 3.5.2。 我在 Eclipse 中的 PYTHONPATH 只有:

/${PROJECT_DIR_NAME}

我可以 运行 extract_step.py 没有问题,但我不能 运行 paths.py 没有收到错误消息(即使导入是唯一的行paths.py)。我能做些什么来解决这个问题,为什么会这样?

编辑: 我尝试制作一个新包,其中包含一个新模块 test.py。我可以导入那个!我也尝试在 util 包中制作一个新模块,但它也不起作用。

解决方案(修复):

我删除了 util 包。 我重新创建了包和 paths.py。 现在可以了。 这回答了我问题的 "How do I fix this" 部分,但没有回答为什么。

如果有人知道为什么会这样,我会接受他们的回答,但现在,如果有人遇到同样的问题,我就是这样解决的。