ImportError:没有名为 common 的模块

新手上路,请多包涵

我的项目有两个目录 commoncore

 root
 |----common
 |       |-----__init__.py
 |       |-----util.py
 |
 |------core
         |-----__init__.py
         |------iemoji.py

在root下,我执行 python core/iemoji.py ,出现错误。

追溯(最近一次通话):

文件“core/iemoji.py”,第 6 行,在模块中

来自普通导入工具

ImportError:没有名为 common 的模块

我像这样导入 utils.py:

 from common import util

原文由 CoXier 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
2 个回答

当您调用 python core/emoji.py 时,它看起来像 /path/to/root/ 不在您的 python 路径上。您可以通过在脚本中打印 sys.path 来检查。

 import sys
print(sys.path)

您可以通过设置 PYTHONPATH 环境变量将根目录添加到您的 python 路径:

 PYTHONPATH=/path/to/root python core/emoji.py

或者你可以在你的脚本中设置它:

 import sys
sys.path.append('/path/to/root')

原文由 Alasdair 发布,翻译遵循 CC BY-SA 3.0 许可协议

将您的 __init__.py 设置为指向各自文件夹中的模块。

常见的 __init__.py

 from . import util

核心的 __init__.py

 from . import emoji

然后你应该可以调用它:

 from common import util

让我知道这个是否奏效。

原文由 Ryan Schaefer 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题