我想知道在Python应用程序中导入包的首选方式。我的包结构如下:
project.app1.models
project.app1.views
project.app2.models
project.app1.views
导入了project.app1.models
和project.app2.models
。有两种方法可以做到这一点。
第一种是使用绝对导入:
import A.A
import A.B.B
或者使用直接相对导入,如PEP 328在Python 2.5中引入的:
# explicit relative
from .. import A
from . import B
最pythonic的方法是什么?
import .baz
- 这只是PEP中描述的许多类似情况之一。 - Stefano__future__ import absolute_import
。我将在最后一段更新我的答案,并可能扩展我的理由,但PEP比我更详细和清晰;-) - Stefano