在`python3'中导入模块时获取`Top`level package`错误`

在`python3'中导入模块时获取`Top`level package`错误`,python,Python,我的目录结构是 -Practice -Connect -connect.py -> having function abc -__init__.py -Pytest -__init__.py -file.py file.1内容 from ..connect.connect import abc abc() 将错误获取为 ValueError: attempted relative import beyond top-level package 我可

我的目录结构是

-Practice
 -Connect
    -connect.py -> having function abc
    -__init__.py
 -Pytest
    -__init__.py
    -file.py
file.1内容

from ..connect.connect import abc
abc()
将错误获取为

ValueError: attempted relative import beyond top-level package
我可以使用从父目录导入作为

from connect.connect import abc
abc()
这是有效的。需要知道为什么相对导入不起作用


正如人们建议的那样,我在Practice目录中添加了init.py,但仍然得到相同的错误

在顶级
Practice
文件夹中需要一个
\uu init\uuuuuuuuuu.py
,因此Python知道它本身应该是一个包,与包含两个包的随机文件夹不同。

您的练习目录中也需要一个uu init_uu.py。否则,Pytest和Connect是独立的顶级包,而不是Practice包的同级子包。因此,您将得到错误。

实践中添加
\uuu init\uuuuuuuu.py
文件directory@warvariuc:我在Practice目录中添加了init.py,但没有工作。我怀疑您试图运行/import
file.py
Pytest
目录中。我在Practice文件夹中添加了init.py文件,但仍然得到相同的结果结果是PYTHONPATH上的Practice目录吗?否,Practice不在PYTHONPATH中,而是在Practice文件夹中添加了init.py文件,但仍然得到相同的结果