我有一个像这样的文件夹结构:
setup.py
core/
__init__.py
interpreter.py
tests/
__init__.py
test_ingest.py
如果我尝试在core
中导入test_ingest.py
并运行它,我会ImportError
说core
模块无法找到。但是,我可以在core
中导入setup.py
而不会出现问题。我的IDE并不吓坏,为什么会出现这个错误呢?
答案 0 :(得分:5)
当你import
你的包时,Python搜索sys.path
上的目录,直到找到其中一个:一个名为" core.py"的文件,或一个名为&#的目录34;核心"包含一个名为__init__.py
的文件。 Python然后imports package。
您可以import core
成功setup.py
,因为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")