首页 > 解决方案 > “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 :)

标签: pythonimporterror

解决方案


您应该创建一个包含 Vec2d.py 包的文件夹,然后从您的 matrix.py 调用导入。

新结构如下:

Math
 -matrix.py
 -mypackages
   -__init__.py
   -Vec.py

有了这个结构,你现在可以像这样从矩阵中导入:

from mypackages.Vec import Vec2D

推荐阅读