为什么在同一目录中导入模块时出现 ModuleNotFound?
Why ModuleNotFound when importing a module in a same directory?
问题
当我尝试使用如下命令在 linux bash 上激活 main.py 时,
python3 main.py
一直出现如下错误信息,我也不知道为什么!!
File "main.py", line 1, in <module>
import folder_beta.util_one
File "folder_beta/util_one.py", line 1, in <module>
ModuleNotFoundError: No module named 'util_two'
问题更详细
文件夹树如下所示:
folder_alpha
├── main.py
└── folder_beta
├── __init__.py (empty)
├── util_one.py
└── util_two.py
main.py
import folder_beta.util_one
import folder_beta.util_two
....
util_one.py
import util_two
...
当我单独执行 'util_one.py' 时,它工作得很好,但是当我执行 main.py 时,错误不断出现。
谁能告诉我如何解决这个问题?
这是一个 隐式相对导入 ,它在 Python 2 中可以工作,但在 Python 3 中不再允许。来自 PEP 8:
Implicit relative imports should never be used and have been removed in Python 3.
在util_one.py
模块中,将其改为:
from folder_beta import util_two
问题
当我尝试使用如下命令在 linux bash 上激活 main.py 时,
python3 main.py
一直出现如下错误信息,我也不知道为什么!!
File "main.py", line 1, in <module>
import folder_beta.util_one
File "folder_beta/util_one.py", line 1, in <module>
ModuleNotFoundError: No module named 'util_two'
问题更详细
文件夹树如下所示:
folder_alpha
├── main.py
└── folder_beta
├── __init__.py (empty)
├── util_one.py
└── util_two.py
main.py
import folder_beta.util_one
import folder_beta.util_two
....
util_one.py
import util_two
...
当我单独执行 'util_one.py' 时,它工作得很好,但是当我执行 main.py 时,错误不断出现。
谁能告诉我如何解决这个问题?
这是一个 隐式相对导入 ,它在 Python 2 中可以工作,但在 Python 3 中不再允许。来自 PEP 8:
Implicit relative imports should never be used and have been removed in Python 3.
在util_one.py
模块中,将其改为:
from folder_beta import util_two