python - “ImportError:没有已知父包的尝试相对导入”,相对路径确实存在
问题描述
我在 python 中进行相对导入时遇到问题。我有一个目录,我试图在子目录中导入一个模块。
我的布局如下作为文件附加。https://i.stack.imgur.com/oV4fo.png
在 Math 文件夹中,我尝试使用“from .Vec import Vec2D”将 Vec.py 导入 matrix.py,其中 Vec2D 是一个类。但是,我收到一个导入错误“ImportError:尝试使用没有已知父包的相对导入”。
使用 sys.path 我可以看到我应该可以访问该文件,但事实并非如此。
希望得到一些帮助,我正在运行 Python 3.8 :)
解决方案
您应该创建一个包含 Vec2d.py 包的文件夹,然后从您的 matrix.py 调用导入。
新结构如下:
Math
-matrix.py
-mypackages
-__init__.py
-Vec.py
有了这个结构,你现在可以像这样从矩阵中导入:
from mypackages.Vec import Vec2D