Python 本地导入-没有名为';x';
我的文件结构如下所示Python 本地导入-没有名为';x';,python,python-3.x,Python,Python 3.x,我的文件结构如下所示 . ├── app.py └── tests ├── Test.py ├── Test0.py └── __init__.py 这是app.py: import tests.Test 这是Test.py import Test0 Test0.py中的内容与此无关。我们就说它什么都不包含\uuuu init\uuuu.py也为空。 当我运行命令python3 app.py时,我得到错误: ModuleNotFoundError:没有名为“Test
.
├── app.py
└── tests
├── Test.py
├── Test0.py
└── __init__.py
这是app.py:
import tests.Test
这是Test.py
import Test0
Test0.py中的内容与此无关。我们就说它什么都不包含\uuuu init\uuuu.py
也为空。
当我运行命令python3 app.py时,我得到错误:
ModuleNotFoundError:没有名为“Test0”的模块
这很奇怪,因为如果我将Test.py更改为:
from . import Test0
一切都很完美;没有错误
我不明白为什么。我认为简单地使用import x
将尝试在本地或从标准库导入名为x
的模块
有人能给我解释一下这种行为吗?另外,如果有一种只使用导入测试0导入的方法,请告诉我
Python沙盒复制问题:我将如何重现此问题?@nicomp我在问题描述中添加了一个链接,指向一个Python沙盒,该沙盒复制了问题。请尝试签出以更好地了解它为什么找不到模块。可以找到此相关信息。基本上,导入的模块必须位于绝对导入的路径上。如果它在一个包中,情况就不是这样了。我该如何重现这个问题?@nicomp我在问题描述中添加了一个链接到一个python沙盒,该沙盒复制了这个问题。请尝试签出以更好地理解它为什么找不到模块。可以找到这些相关信息。基本上,导入的模块必须位于绝对导入的路径上。如果它在一个包中,情况就不是这样了。