[英]Getting `Top `level package` error when importing module in `python3`
我的目录结构为
-Practice
-Connect
-connect.py -> having function abc
-__init__.py
-Pytest
-__init__.py
-file.py
file.1 contents
from ..connect.connect import abc
abc()
获取错误为
ValueError: attempted relative import beyond top-level package
我可以使用从父目录导入
from connect.connect import abc
abc()
这是有效的。 需要知道为什么相对导入不起作用
正如人们所建议的那样,我在 Practice 目录中添加了init .py 并且仍然遇到相同的错误
您需要一个__init__.py
位于顶级Practice
文件夹中,因此 Python 知道它本身应该是一个包,而不是一个恰好包含两个包的随机文件夹。
您的练习目录中也需要一个 __init__.py。 否则,Pytest 和 Connect 是单独的顶级包,而不是 Practice 包的同级子包。 因此你得到的错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.