Python:导入导入模块的模块

Ana*_*ari 2 python python-import

所以在文件foo我导入模块:

import lib.helper_functions
import lib.config
Run Code Online (Sandbox Code Playgroud)

在helper_functions.py中,我有:

import config
Run Code Online (Sandbox Code Playgroud)

当我运行foo的main函数时,我得到一个ImportError

编辑:这是我的文件的结构

foo.py
lib/
    config.py
    helper_functions.py
Run Code Online (Sandbox Code Playgroud)

在helper_functions中导入配置会导致错误

Traceback (most recent call last):
  File "C:\Python33\foo.py", line 1, in <module>
    import lib.helper_functions
  File "C:\Python33\lib\helper_functions.py", line 1, in <module>
    import config
ImportError: No module named 'config'
Run Code Online (Sandbox Code Playgroud)

所以:当我运行foo.py时,解释器会抱怨helper_functions的import语句.然而,当我运行helper_functions的主要部分时,不会出现这样的错误.

Mar*_*ers 7

您需要config使用绝对导入导入.使用:

from lib import config
Run Code Online (Sandbox Code Playgroud)

或使用:

from . import config
Run Code Online (Sandbox Code Playgroud)

Python 3仅支持绝对导入; 该语句import config仅导入顶级模块config.