我试图了解整个 Python 导入/模块/包业务,但我被困在这个特定问题上。
我的目录结构:
.
├── README.md
├── mypackage
│ ├── __init__.py
│ ├── red.py
│ ├── blue.py
│ ├── green.py
│ └── tests
│ └── red_tests.py
│ └── green_tests.py
└── go.py
我的导入代码如下所示:
# __init__.py
from red import Red
from green import Green
# blue.py
from red import Red
# green.py
from red import Red
from blue import Blue
# go.py
from mypackage import Red, Green
go.py
但是在尝试访问该类的静态类变量时运行会出现此错误Green
:
NameError: global name 'Green' is not defined
我怎样才能解决这个问题?
编辑
道歉 - 它原来是一个循环依赖问题。我为混乱道歉!