순환 임포트 문제가 발생했다.
원래 계층 구조는 다음과 같다.
wavnes/
├── capture/
│ ├── __init__.py
│ ├── handler.py
│ ├── mqtt_handler.py
│ └── sniffer.py
├── websocket/
│ ├── __init__.py
│ ├── websocket_handler.py
│ └── websocket_server.py
├── __init__.py
├── __main__.py
└── main.py
결국 계층 구조를 변경하지 않고
import from .mqtt_handler import MQTTHandler
로 해줘도 해결이 되는 문제였다.
그렇담 어떤 계층 구조를 선택해야 할까? 에 대한 고민
* 후보 1
wavnes/
├── capture/
│ ├── __init__.py
│ ├── handler.py
│ ├── mqtt_handler.py
│ └── sniffer.py
├── websocket/
│ ├── __init__.py
│ ├── websocket_handler.py
│ └── websocket_server.py
├── __init__.py
├── __main__.py
└── main.py
* 후보 2
wavnes/
├── capture/
│ ├── handlers/
│ │ ├── __init__.py
│ │ ├── handler.py
│ │ └── mqtt_handler.py
│ ├── __init__.py
│ └── sniffer.py
├── websocket/
│ ├── __init__.py
│ ├── websocket_handler.py
│ ├── websocket_server.py
├── __init__.py
├── __main__.py
└── main.py
어 3번에 handlers 모듈 통합에 대한 얘기가 있었네 못 보고 지나쳐서 또 물어봤다
음................ 결론이 안 난다
결국 후보2로 하기로 했다
❗️나중에 더 고민해보고 파이썬 프로젝트들 계층 구조 시간 내서 살펴보기