Ad code

Python - ImportError most likely due to a circular import 해결

 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 댓글