10.3 使用相对路径名导入包中子模块
问题
解决方案
mypackage/
__init__.py
A/
__init__.py
spam.py
grok.py
B/
__init__.py
bar.py# mypackage/A/spam.py
from . import grok讨论
Last updated
mypackage/
__init__.py
A/
__init__.py
spam.py
grok.py
B/
__init__.py
bar.py# mypackage/A/spam.py
from . import grokLast updated
# mypackage/A/spam.py
from ..B import bar# mypackage/A/spam.py
from mypackage.A import grok # OK
from . import grok # OK
import grok # Error (not found)from . import grok # OK
import .grok # ERROR% python3 mypackage/A/spam.py # Relative imports fail% python3 -m mypackage.A.spam # Relative imports work