Python 找不到本地模块

Python can't find local module

我有这样的文件夹结构:

setup.py
core/
    __init__.py
    interpreter.py
tests/
    __init__.py
    test_ingest.py

如果我尝试在 test_ingest.py 和 运行 中导入 core,我得到一个 ImportErrorcore 模块不能成立。但是,我可以毫无问题地在 setup.py 中导入 core。我的 IDE 没有异常,为什么会出现这个错误?

当您 import 您的包时,Python 搜索 sys.path 上的目录,直到找到其中之一:名为 "core.py" 的文件或名为 "core" 包含一个名为 __init__.py 的文件。 Python 然后 imports your package.

您能够从 setup.py 成功 import core 因为 core 目录的路径在 sys.path 中找到。您可以通过 运行 您文件中的这段代码自己查看:

import sys

for line in sys.path:
     print line

如果您想从文件夹结构中的其他文件导入 core,您可以将找到 core 的目录的路径附加到文件中的 sys.path

import sys
sys.path.append("/path/to/your/module")