我的设置:
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包中创建一个新模块,但它也不起作用。
答案 0 :(得分:0)
解决方案(修复它):
我删除了util
包。
我重新创建了包和paths.py
。
它现在有效。
这回答了我如何解决这个问题的一部分,而不是为什么。
如果有人知道为什么会这样,我会接受他们的回答,但就目前来说,如果有人遇到同样的问题,这就是我修复它的方法。