Python找不到本地模块

api*_*nti 4 python importerror

我有这样的文件夹结构:

setup.py
core/
    __init__.py
    interpreter.py
tests/
    __init__.py
    test_ingest.py
Run Code Online (Sandbox Code Playgroud)

如果我尝试进口coretest_ingest.py,并运行它,我得到一个ImportError说,core模块不能被发现。不过,我可以导入coresetup.py没有问题。我的IDE并不奇怪,那么为什么会发生此错误?

Dan*_*iel 6

import您打包程序包时,Python会搜索其中的目录,sys.path直到找到以下目录之一为止:一个名为“ core.py”的文件或一个名为“ core”的目录,其中包含一个名为的文件__init__.py。然后,Python将导入您的

您可以成功完成此操作import coresetup.py因为在core中找到了目录的路径sys.path。您可以通过运行文件中的以下代码片段来自己查看:

import sys

for line in sys.path:
     print line
Run Code Online (Sandbox Code Playgroud)

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

import sys
sys.path.append("/path/to/your/module")
Run Code Online (Sandbox Code Playgroud)

  • 您需要使用sys.path.append(“ / Users / apizzimenti / Desktop / simple-engine-core /”)。您要将路径附加到找到“ core”的目录,而不是模块本身的路径。 (2认同)