Python 找不到本地模块
Python can't find local module
我有这样的文件夹结构:
setup.py
core/
__init__.py
interpreter.py
tests/
__init__.py
test_ingest.py
如果我尝试在 test_ingest.py
和 运行 中导入 core
,我得到一个 ImportError
说 core
模块不能成立。但是,我可以毫无问题地在 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")
我有这样的文件夹结构:
setup.py
core/
__init__.py
interpreter.py
tests/
__init__.py
test_ingest.py
如果我尝试在 test_ingest.py
和 运行 中导入 core
,我得到一个 ImportError
说 core
模块不能成立。但是,我可以毫无问题地在 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")