본문 바로가기
IT/파이썬

파이썬 - 순환 참조 문제 Circular Imports 에러

파일 여러개로 작업할 때 서로 순환참조되어 호출 되는 경우가 많다.

 

필요할 때 딱 쓰려고 import 했는데, 그 파일에 이미 자신의 파일이 import 되어서 쓰고 있으면 왠만해선 넘어가지 않고 머라머라 순환참조 문제일 수 도 있다고 Warning 이나 Error 가 발생한다.

요거 참 곤란한데 아주 좋은 해결책이 있었네.

 

아래 분의 블로그에 가시면 아주 자세하게 설명이 잘 되어 있으니 꼭 들어가 보시고, TYPE_CHECKING 상수를 활용하는 방법으로 import 순환 문제는 해결할 수 있을 거 같다.

 

https://item4.blog/2017-12-03/Resolve-Circular-Dependency-on-Python-Typing/
 

Python typing으로 인한 순환 참조 대응책

Python typing을 하다가 마주친 순환 참조와의 격투

item4.blog

from typing import TYPE_CHECKING
if TYPE_CHECKING:
    from mod1 import School
typing 모듈의 TYPE_CHECKING 상수는 runtime에는 False 값을 갖고 있습니다. mypy 등의 정적 타입 검사기를 돌릴 때만 True가 됩니다. 이렇게 하면 순환 참조 문제를 해결할 수 있습니다.

끝.

BJ.

자연의 힘으로 무한히 돌아가는 풍차..이것도 기계니깐 고장이 나겠지 ㅎ

Emma Elise 님의 사진, 출처: Pexels