Python 3中的ModuleNotFoundError,但不是2

时间:2018-05-30 10:04:20

标签: python python-3.x python-2.7

在尝试导入包含 1. "relationships": [ { "first_name": "John", "last_name": "Heafner", "relation": "Father" }, { "first_name": "Mary", "last_name": "Dellinger", "relation": "Mother" }, { "first_name": "James S.", "last_name": "Smith", "relation": "Spouse" } ] 2. "relationships": [ { "first_name": "James", "last_name": "Hickey", "relation": "Father" }, { "first_name": "Mary", "last_name": "Raftery", "relation": "Mother" }, { "first_name": "Richard", "last_name": "Smith", "relation": "Spouse" } ] 的软件包时,我在Python 3中获得ModuleNotFoundError,该软件包从其中一个软件包模块中导入变量。

我的项目结构是:

__init__.py

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

modu.py:

value = 99

__init__.py:

from modu import value

test.py

当我使用Python 2运行import package print(package.value) # or 'print package.value' for Python 2 时,一切正常。但是当我使用Python 3运行时,我得到了test.py。我从ModuleNotFoundError: No module named 'modu'目录运行。

任何人都可以解释为什么会这样吗?感谢。

1 个答案:

答案 0 :(得分:4)

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

__init__.py

from package.modu import value

适用于两个版本