파이썬 통합개발환경(IDE)인 파이참(PyCharm)을 이용해서 파이썬 소스코드를 편집하고 있는데 이상한 에러를 만나게 되었다. 사용하는 모듈에 빨간색 줄이 가더니 'Unresolved reference xxx' 에러가 발생했다. 실행환경에 문제는 없어보이는데 이상했다. 대략 다음과 같은 모습이었다.
분명 같은 디렉토리에 Mudule1이라는 파이썬 파일이 존재한다. 그리고 autocomplete 파일에서 이 파일을 불러서 쓰려고 했는데, 같은 디렉토리에 있는 파이썬 파일을 불러올 수 없었다. 이상한 일이다.
해결방법
이 경우 디렉토리를 파이썬 프로젝트의 '소스루트(Sources Root)'로 지정해주면 된다.
프로젝트 디렉토리 창의 src 디렉토리를 우클릭하면 여러 메뉴가 뜬다. 그 메뉴 중에 'Mark Directory as' 메뉴의 'Sources Root'를 선택한다.
src 디렉토리가 소스루트로 지정되면 디렉토리의 색이 하늘색으로 바뀐다.
빨간색 밑줄이 뜨면서 생겼던 'Unresolved Reference' 문제가 해결된 것을 볼 수 있다. 파이썬 소스코드의 문제는 아니었고 파이참 프로젝트 설정의 문제였다.
import에 명시한 이름을 찾아가는 시작점이 소스 루트 디렉토리인데, src 디렉토리가 소스 루트로 지정되지 않으면 프로젝트 디렉토리가 루트 디렉토리로 지정된다. 따라서 약간 지저분하지만 다음과 같이 코드를 고쳐도 문제는 해결된다.
from src.Module1 import Module1
module = Module1() module.print_String()
댓글