我有一个目录结构如下:
evaluate.py
tools (folder)
-- ngram.py
-- bleu.py
Run Code Online (Sandbox Code Playgroud)
在 中bleu.py,我导入ngram. 并且,在 中evaluate.py,我导入tools.bleu. 但是,发生错误,ModuleNotFoundError: No module named 'ngram'. 我哪里做错了?谢谢~
如果您打算tools成为一个包,则需要将其中的模块更改为在相互导入时使用绝对导入或显式相对导入。
也就是说,您需要更改tools/bleu.py以执行以下任一操作:
import tools.ngram # or: from tools import ngram
Run Code Online (Sandbox Code Playgroud)
或者:
from . import ngram
Run Code Online (Sandbox Code Playgroud)
您可能也应该__init__.py在tools文件夹中放置一个文件(尽管它不再是绝对必要的)。
| 归档时间: |
|
| 查看次数: |
2185 次 |
| 最近记录: |