본문 바로가기

정보/오류

[Python] ModuleNotFoundError: No module named (import가 안되는 경우)

오늘은 ModuleNotFoundError가 뜨면서 모듈이 import가 안 되는 경우의 해결법에 대해서 알아보겠습니다.

 

 

문제


터미널에 "pip install numpy"를 입력하니 이미 설치된 파일이라고 뜹니다.

 

 

하지만 "import numpy"로 모듈을 가져오려고 하니 오류가 뜨는데요.

 

ModuleNotFoundError

 

뭐가 문제인걸까요?

 

바로 모듈을 가져오는 경로(path)에 해당하는 모듈이 존재하지 않기 때문입니다.

 

모듈을 가져오는 경로를 보는 방법은 다음과 같습니다.

 

  1. import sys를 한 후에
  2. sys.path를 입력해주면 모듈을 가져오는 경로(path)가 표시됩니다

그렇다면 내가 가져오려는 모듈은 어디에 있는 걸까요?

 

 

이미 설치가 되었다고 뜨는 문구에 모듈이 어디 설치되어 있는지 알려줍니다.

 

"numpy in C:\\python38-32\\lib\\site-packages"문구는 numpy모듈이 저 경로에 설치되어 있음을 보여줍니다.

 

 

해결


해결을 위해서는 numpy모듈이 설치되어있는 곳을 sys.path에 추가해주거나 아니면

numpy모듈을 sys.path에 넣어주면 되겠습니다.

 

해결 방법 첫 번째는 시스템 환경 변수 편집을 이용하는 것입니다.

 

시스템 속성

 

1. window키+s를 누르면 뜨는 window검색창에서 시스템 환경 변수를 입력해 들어갑니다.

 

2. 그 후 환경 변수를 눌러줍니다.

 

환경 변수

 

3. 새로 만들기를 눌러줍니다.

 

새 시스템 변수

 

4. 변수 이름에 "PYTHONPATH"를, 변수 값에 모듈이 설치되어 있는 파일을 입력해줍니다.

 

이렇게 해준 후 모듈을 import 해보시면 오류 없이 잘 작동될 것입니다.

 

 

사실 sys모듈을 사용할 수 있다면 코드 한 줄로도 추가할 수 있습니다.

 

numpy모듈이 설치되어있는 곳을 sys.path에 추가해주는 방법은 다음과 같습니다.

 

 

sys.path.append("설치 경로")를 입력해주시면 됩니다.


이번 시간에는 ModuleNotFoundError가 뜨면서 모듈이 import가 안 되는 경우의 해결법에 대해서 알아보았습니다.