본문 바로가기
방구석코딩/파이썬 기초문법

[파이썬] import 안될 때 원인 및 해결방법

by 석세상 2023. 12. 18.
반응형

파이썬 프로그래밍에서 외부 함수를 사용할 수 있는 import 명령어가 안될 때 원인 및 해결방법에 대해 알아보도록 하겠습니다.

파이썬 import 안될 때 원인 및 해결방법

 

 

 

import 안될 때 해결방법

외부 함수를 가져오기 위해서는 import 문을 사용하는데요. import문이 정상적으로 실행되지 않는 경우가 종종 발생합니다. 이때 케이스별로 원인 및 해결방법에 대해 간략하게 알아보겠습니다.

 

이를 알아보기 전에 먼저 파이썬에서 명령어와 모듈이 작동되는 원리부터 알아야 합니다. 총 3가지로 정리할 수 있는데요. 

 

첫번째 파이썬 설치 시 기본적으로 사용할 수 있는 명령어들이 있습니다. 이는 파이썬 프로그램을 설치하면 아무런 조치를 취하지 않아도 바로 사용할 수 있는 명령어 입니다. 예를 들어 print 문이 있습니다.

 

두번째는 파이썬 설치 시 기본적으로 설치는 되지만 사용하기 위해서 import 명령어를 통해 모듈을 불러와야지만 파이썬에서 작동하는 명령어가 있습니다. 

 

이전에 보았던 math 모듈의 sqrt와 같은 명령어가 있습니다.

 

import 문의 사용법이 궁금하시다면 아래 링크를 참고해 주세요.

 

[파이썬] import 문의 사용법, 외부 함수 가져오기

파이썬 프로그래밍에서 import문의 사용법, 즉, 외부 함수 코드, 예시 등을 가져와서 활용하는 방법에 대해 알아보도록 하겠습니다. import 문의 사용법 import 문의 사용법은 기본적으로 파이썬에서

gusugi.tistory.com

 

세번째로는 파이썬 설치 시 기본적으로 설치되어 있지 않는 모듈이 있습니다. 이런 경우 모듈을 설치하고 파이썬에서 import를 통해 불러와야지만 작동합니다.

파이썬 명령어를 사용할 수 있는 단계 예시

 

 

1. Module Not Found 오류

만약 import 하려는 모듈 이름이 없는 모듈명이거나 파이썬 경로에 존재하지 않는 경우 발생하는 에러입니다.

 

다음과 같은 에러를 해결하기 위해서는 모듈이름을 제대로 작성했는지 확인하거나 모듈이 설치 되어 있는지 확인해야 합니다. 만약 설치되어 있지 않다면 pip과 같은 패키지 관리자를 사용하여 설치되어 있는지 확인해야 합니다.

import 시 Module Not Found 오류 화면

 

 

2. ImportError

ImportError 에러가 발생하는 경우는 지정된 함수, 클래스 또는 변수가 모듈에 존재하지 않는 경우 입니다. 이런 경우 역시 모듈 내에서 함수의 이름을 올바르게 썼는지 해당 함수가 모듈 내 존재하는지 확인합니다.

from module import non_existent_function

 

 

3. Circular Import 오류

Circular Import 오류는 두 개 이상의 모듈이 서로 순환 참조를 하는 경우입니다. 여기서 순환 참조의 의미는 참조하는 대상이 서로 물려있어 참조할 수 없는 현상을 의미합니다.

따라서 이 경우는 코드를 재구성하여 순환 종속성을 피할 수 있도록 작성해야 합니다. 함수 내에서 import 하는 방식을 고려하는 것도 하나의 해결방법입니다.

# module_a.py
from module_b import function_b

# module_b.py
from module_a import function_a

 

 

4. 모듈 내 SyntaxError

모듈 내 SyntaxError는 모듈 구문에 오류가 있는 경우 발생합니다. 함수 내에서 사용할 수 있는 옵션을 잘못 사용하는 경우 많이 발생합니다. '? 함수명'과 같이 검색해서 사용할 수 있는 옵션을 확인합니다.

# module_with_syntax_error.py
print "Hello, World!"

 

 

5. 누락된 종속성으로 인한 ImportError

ImportError의 경우는 해당 모듈이 현재 설치되어 있지 않는 모듈을 참조합니다. 따라서 참조하는 모듈을 추가로 설치해야 실행 가능합니다. 패키지 관리자를 통해 누락된 모듈을 확인하여 설치합니다.

import missing_dependency

 

 

6. PermissionError

PermissionError의 경우는 권한 문제인 경우입니다. 파일 또는 디렉토리 권한을 조정하여 액세스를 허용해야 합니다.

import restricted_module

 

728x90
반응형

댓글