파이썬 같은 폴더 Import 에러와 해결 방법

파이썬을 사용하다 보면 가끔 같은 폴더 내 파일을 임포트(import)하려고 할 때
오류를 만나곤 합니다. 이러한 문제는 상당히 자주 발생하며, 초보자뿐만 아니라 숙련된 개발자에게도
낯설지 않습니다. 이 글을 통해 파이썬 같은 폴더 import 에러의 원인과 해결 방법을 알아보겠습니다.

파이썬 Import의 기초 이해

파이썬에서 import는 다른 모듈의 기능을 가져와 사용할 수 있게 해주는 중요한 기능입니다.
하지만 파일이 같은 폴더에 있다고 해서 무조건 import가 성공하는 것은 아닙니다. import는
파이썬 인터프리터가 설정한 경로에서 모듈을 찾으면 성공하고 그렇지 않으면 실패합니다.

예제를 통해 살펴보겠습니다. 같은 폴더에 두 파일, 와
가 있다고 가정해 보겠습니다.

위와 같은 경우에는 일반적으로 import가 정상적으로 동작해야 합니다. 하지만 경우에 따라서 에러가
발생할 수도 있습니다.

Import 에러가 발생하는 이유

같은 폴더 안에 있는 모듈을 import할 때 애를 먹게 되는 이유 중 하나는 파이썬의
환경 변수와 관련이 있습니다. 는 파이썬이 모듈을 찾을
때 사용하는 디렉토리 목록입니다. 만약 현재 작업 디렉토리가 이 목록에 포함되지 않으면 import 시도는
실패하게 됩니다.

또 다른 이유로는 파일 이름 충돌이 있습니다. 모듈이나 모듈과 같은
표준 라이브러리와 같은 이름의 모듈을 생성할 경우, 잘못된 파일이 import될 수 있습니다.

PYTHONPATH 설정으로 에러 해결하기

가장 흔한 해결책 중 하나는 환경 변수를 설정하여 현재 작업 디렉토리를 포함하는
것입니다. 를 설정하면 파이썬 인터프리터가 모듈을 찾을 때 지정된 경로를
확인합니다.

에서는 CMD 또는 PowerShell에서 다음 명령어를 입력하여 설정할 수 있습니다.

에서는 터미널에서 다음과 같이 설정합니다.

상대 경로와 절대 경로로 해결하기

다른 방법으로는 import 경로를 명확히 지정하는 것입니다. 상대 경로나 절대 경로를 사용하여 수동으로
경로를 설정할 수 있습니다. 특히 프로젝트가 여러 디렉터리로 나뉘어져 있을 때 유용합니다.

절대 경로로 설정한 예제입니다.

가상 환경을 활용한 모듈 관리

프로젝트마다 패키지 의존성을 다르게 관리해야 할 경우, 가상 환경을 활용하면 편리합니다.
파이썬의 모듈을 사용하여 간단히 가상 환경을 생성하고 모듈을 관리할 수 있습니다.

다음은 가상 환경을 생성하고 활성화하는 예제입니다.

에서 가상 환경을 활성화하려면:

에서 가상 환경을 활성화하려면:

올바른 파일 구조를 유지하여 문제 예방하기

가장 근본적인 해결책은 잘 조직된 파일 구조를 유지하는 것입니다. 올바른 파일 구조는 모듈 import를
쉽게 하며, 협업 시에도 코드의 가독성을 높입니다.

일반적으로는 다음과 같은 구조를 추천합니다:

**주의**: 파일은 해당 디렉터리가 패키지의 일부임을 파이썬이 인식하도록
해줍니다.