首页 > 解决方案 > Python 3 中的简单导入

问题描述

我读过PEP 328和类似的问题但他们仍然没有回答我关于 python 3 导入的问题。我的问题是:

为什么单点.相对导入会产生如下错误?

代码:(__init__.py存在于同一目录中)

from . import module_x

错误:

ImportError: attempted relative import with no known parent package

是的,有一些解决方法可以解决这个错误,例如python -m从父目录运行,但为什么呢?

不应该.总是引用当前模块的同一目录,并且只要存在于同一目录中,该示例就始终有效?module_x

特别是PyCharm尝试unittest从测试文件所在的目录运行测试用例,并且总是会导致.导入失败。有些人可能会争辩说这是个问题,但我认为无论解释器在哪里运行,PyCharm像这样的简单导入都应该始终有效。

标签: python-3.xpycharm

解决方案


这里有详细的回答,这里也有。对不起,我不能把它写成评论。


推荐阅读