小编Joa*_*lby的帖子

无法解决"导入为"的情况("AttributeError模块x没有属性y")

我有一个具有以下结构的项目:

project/
    driver.py
    lib/
        __init__.py
        core/
            util.py
            common.py
            __init__.py
Run Code Online (Sandbox Code Playgroud)
# project/driver.py

import lib.core.common as abc
pass
Run Code Online (Sandbox Code Playgroud)
# project/lib/core/__init__.py

from .util import Worker
Run Code Online (Sandbox Code Playgroud)
# project/lib/core/util.py

import lib.core.common as abc

class Worker:
    pass
Run Code Online (Sandbox Code Playgroud)
# project/lib/core/common.py

def stuff():
    pass
Run Code Online (Sandbox Code Playgroud)

现在当我运行python3 driver.py(从项目的目录),我收到以下错误:

Traceback (most recent call last):
  File "driver.py", line 1, in <module>
    import lib.core.common as abc
  File "/home/user/project/lib/core/__init__.py", line 1, in <module>
    from .util import Worker
  File "/home/user/project/lib/core/util.py", line 1, in <module>
    import lib.core.common as abc
AttributeError: module 'lib' has no …
Run Code Online (Sandbox Code Playgroud)

python python-import python-3.x python-packaging

6
推荐指数
1
解决办法
784
查看次数