Python 3 中的 ModuleNotFoundError 但不是 2

Kha*_* Do 5 python python-2.7 python-3.x

ModuleNotFoundError尝试导入包含__init__.py从包的模块之一导入变量的包时,我在 Python 3 中得到了 a 。

我的项目结构是:

project/
  test.py
  package/
    __init__.py
    modu.py
Run Code Online (Sandbox Code Playgroud)

modu.py:

value = 99
Run Code Online (Sandbox Code Playgroud)

__init__.py:

from modu import value
Run Code Online (Sandbox Code Playgroud)

test.py

import package
print(package.value)  # or 'print package.value' for Python 2
Run Code Online (Sandbox Code Playgroud)

当我test.py使用 Python 2运行时,一切正常。但是当我使用 Python 3 运行时,我得到了一个ModuleNotFoundError: No module named 'modu'. 我正在从project/目录运行。

谁能解释为什么会这样?谢谢。

Aro*_*unt 8

因为 Python3 期望模块的绝对路径:

__init__.py

from package.modu import value
Run Code Online (Sandbox Code Playgroud)

适用于两个版本