何时或为何在Python中使用相对导入

时间:2012-10-05 02:59:32

标签: python import module package

是否有关于何时在Python中使用相对导入的规则或指南?我在Flask Web框架中一直看到它们一直在使用。搜索此主题时,我只会看到有关如何使用相对导入的文章,但不会看到为什么

使用时有一些特别的好处:

from . import x

而不是:

from package import x

此外,我注意到在this问题上,答案提到相对进口是不受欢迎的。然而人们仍然继续使用它们。

1 个答案:

答案 0 :(得分:19)

查看PEP 328's section on relative imports

理由似乎如下:

  

提出了几个用例,其中最重要的是能够重新排列大包的结构,而无需编辑子包。另外,如果没有相对导入,包内的模块就不能轻易导入。