找不到Python自定义模块

标签 python python-3.x

我的目录结构如下:

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

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

最佳答案

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

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

import tools.ngram     # or: from tools import ngram

或者:

from . import ngram

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

关于找不到Python自定义模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53862014/

相关文章:

python - 无需任何显式调用即可更改变量值

python - Tensorflow U-Net 多类标签

python - 如何在 python Pyramid 应用程序中获取服务主机和端口?

Python计算大文件中的单词数

python-3.x - mpld3 未在 Colab 中显示图形

python-3.x - 带有日语字符的 Python3 json

python - 命令提示符中无法识别点斜杠 - 尝试安装 Python 模块

Python 删除字符串中的所有撇号

python - 将库从 Python 2.7 转换为 3.4

python - 重写类的 __contains__ 方法