找不到Python自定义模块

时间:2018-12-20 03:23:50

标签: python python-3.x

我的目录结构如下:

evaluate.py
tools (folder)
   -- ngram.py
   -- bleu.py

bleu.py中,我导入ngram。并且,在evaluate.py中,我导入tools.bleu。但是,发生ModuleNotFoundError: No module named 'ngram'错误。我在哪里做错了?谢谢〜

1 个答案:

答案 0 :(得分:4)

如果您打算将tools打包,则需要更改其中的模块以在相互导入时使用绝对导入或显式相对导入。

也就是说,您需要更改tools/bleu.py才能执行以下任一操作:

import tools.ngram     # or: from tools import ngram

或者:

from . import ngram

您可能也应该将__init__.py文件放入tools文件夹中(尽管不再严格要求 )。