无法从其他模块导入模块,但可以从第三个模块(所有在不同的包中)导入模块

时间:2016-11-02 17:46:06

标签: python eclipse pydev

我的设置:

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

实例化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包中创建一个新模块,但它也不起作用。

1 个答案:

答案 0 :(得分:0)

解决方案(修复它):

我删除了util包。 我重新创建了包和paths.py。 它现在有效。 这回答了我如何解决这个问题的一部分,而不是为什么。

如果有人知道为什么会这样,我会接受他们的回答,但就目前来说,如果有人遇到同样的问题,这就是我修复它的方法。