ImportError: cannot import name 'xxx' from partially initialized module 'xxx' (most likely due to a circular import)
이 에러는 2가지 점의 주의 해서 보면 해결이 가능하다.
1. 양방향 참조 오류
첫번째로는 가장 많이 실수 할 수 있는 부분으로, 이중 호출이 되는지에 대한 부분이다.
a 파일 에서 b 파일의 라이브러리에서 bbb 라는 함수를 import 했다고 보자.
그리고 b 파일에서 a 파일의 aaa 라는 함수를 import 할 경우 중복 호출로 오류가 나타날 수 있다.
양방향으로 서로간 참조는 불가능하니, 만약 공통 함수를 작성하였다면, 내부 다른 함수에서 서로간 참조하는지 확인하자.
2. 중복 이름 오류
이는 보통 라이브러리의 이름과 함수 이름이 동일하여 발생하는 오류로, 네이밍을 잘 못 지정하여 발생하는 오류다.
쉽게 발해 print라는 내장 함수 이름이 있는데, 이와 동일한 이름으로 def print라는 함수명을 지어 중복되는 오류라고 할 수 있다.
이는 함수 이름만 변경해줘도 쉽게 해결이 가능하기 때문에 중복 된다고 나타나는 함수의 이름을 변경해주도록 하자.
0 댓글