假设我具有以下目录结构:
x/a.py
包含内容:
__all__ = ['x']
x = 2
和
x/__init__.py
内容
from .a import x
print(a)
现在,import x
打印了
<module 'x.a' from '/home/neil/src/cmm/x/a.py'>
为什么a
受到约束?我以为我只是导入,因此绑定了x
。我知道我是否import a
做过,但是相对导入为什么要导入什么,除了要求什么?
其他文件中的相对导入似乎没有发生。 __init__
为什么特别?
这是一个问题,因为mypy
到处抱怨着类似的错误
session/__init__.py:12: error: Name 'extrema' already defined (by an import)