ModuleNotFoundError in Python 3 but not 2

5

在Python 3中,当我尝试导入一个包含__init__.py的包并从其中一个模块中导入变量时,会出现ModuleNotFoundError错误。

我的项目结构如下:

project/
  test.py
  package/
    __init__.py
    modu.py

modu.py:

value = 99

__init__.py:

from modu import value

test.py:

import package
print(package.value)  # or 'print package.value' for Python 2

当我在Python 2下运行“test.py”时,一切正常。但是当我使用Python 3运行时,出现了“ModuleNotFoundError:No module named 'modu'”。我正在从“project /”目录中运行。
有人能解释一下这是为什么吗?谢谢。
1个回答

8
由于Python3要求模块使用绝对路径,因此:
__init__.py:
from package.modu import value

适用于两个版本

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接