シンプルなマルチレベル パッケージを作成しようとしています。
test_levels.py
level1/
__init__.py (empty file)
level2/
__init__.py (only contents: __all__ = ["leaf"])
leaf.py
葉.py:
class Leaf(object):
print("read Leaf class")
pass
if __name__ == "__main__":
x = Leaf()
print("done")
test_levels.py:
from level1.level2 import *
x = Leaf()
leaf.py を直接実行すると正常に動作しますが、test_levels.py を実行すると、出力がないと予想していた以下の出力が返されます。
read Leaf class
Traceback (most recent call last):
File "C:\Dev\intranet\test_levels.py", line 2, in <module>
x = Leaf()
NameError: name 'Leaf' is not defined
誰かが私が間違っていることを指摘できますか?