【发布时间】:2016-11-03 02:30:06
【问题描述】:
我的设置:
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。蟒蛇 3.5.2。 我在 Eclipse 中的 PYTHONPATH 只有:
/${PROJECT_DIR_NAME}
我可以毫无问题地运行 extract_step.py,但我无法在没有收到错误消息的情况下运行 paths.py(即使导入是 paths.py 中的唯一行)。我可以做些什么来解决这个问题以及为什么会发生这种情况?
编辑: 我尝试制作一个带有新模块 test.py 的新包。我可以进口!我也尝试在 util 包中创建一个新模块,但它也不起作用。
【问题讨论】:
-
将
__init__.py添加到所有目录,即extract、text和util。 -
三个都有,都是空的。
-
对不起。我没有读到你问题的那一部分。可以把
pyc的文件全部删掉再运行吗? -
我都删了,还是一样的问题。我还在删除它们后重新启动了 Eclipse,以防万一。
-
有趣的是,我使用 Python 2.7 复制了相同的目录结构,但是当我运行
python extract/extract_step.py时出现错误