ModuleNotFoundError : No module named ‘pygame’

Last Updated on 2024-01-30 by BallPen

ModuleNotFoundError : No module named ‘pygame’. 저는 이 에러 때문에 어제 밤에 잠을 거의 못잤어요.

저는 최근에 유튜브 강좌를 이용해 파이썬 공부를 시작했는데요. 첫 강좌에서 pygame을 설치하고 그 pygame을 파이썬에서 import하여 게임 개발을 시작하라고 나오더라구요.

저는 그 동영상에서 알려주는대로 pygame 설치 후 파이썬에서 import 했는데요. 동영상과 달리 저는 아래의 에러를 만났습니다.

ModuleNotFoundError : No Module named 'pygame'

분명히 패키지는 제대로 설치했는데 왜 이런 에러가 나올까요? 이번 글에서는 이 에러를 어떻게 해결했는지 그 방법을 알려드립니다.

참고로 아래의 해법은 제가 경험한 내용일 뿐 구체적으로 어떤 원리에 의해 에러가 해결되었는지는 저도 잘 몰라요. 저는 파이썬 초보거든요.

제가 시청한 동영상 강좌대로 아래의 명령어를 이용해 pygame을 리눅스에 설치했어요.

pip3 install pygame

그리고 제대로 설치되었는지를 확인하기 위해 visual studio code의 파이썬에 ‘import pygame’을 입력하고 실행했어요. 그런데 아래의 에러가 뜨는 거에요.

[그림 1] ModuleNotFoundError : No module named 'pygame'
[그림 1] ModuleNotFoundError : No module named ‘pygame’

동영상 강좌에서는 문제없이 잘 되던데요. 저는 문제가 있는거에요. pygame이 설치가 안된건가 하고 아래의 명령어로 확인해봤어요.

pip show pygame

그랬더니 리눅스에 설치된 pygame 정보가 제대로 나옵니다. 분명히 패키지가 설치된 것은 맞아요. 그런데 왜 에러가 뜨는걸까요?

이 문제를 해결하기 위해 수많은 인터넷 검색을 했어요. 그리고 결국 해법을 찾을 수 있었습니다.

제가 한 방법 그대로 알려드릴게요. 다시한번 더 말씀드리지만 저는 리눅스와 파이썬 초보에요. 구체적으로 문제가 해결된 원리는 저도 잘 몰라요.

일단 따라 해 보세요.

우선 지금 ‘pygame’을 설치한 상태라면 아래 명령어를 통해 삭제해주세요.

pip3 uninstall pygame

그리고 가상 환경을 만들거에요. 확실한것은 가상환경을 사용하지 않으면 error가 계속 발생했어요.

여기서 가상환경이란 현재 개발하고 있는 파이썬 프로그램의 개발 환경을 독립적으로 구축하는 거에요. 그러니까 해당 프로그램 개발에 제한적으로 사용할 수 있는 환경을 갖추는 것이죠.

ModuleNotFoundError가 발생하면 제일 먼저 가상환경에서 작업해야 할 것 같아요.

리눅스에 가상환경을 만들기 위해서는 파이썬 파일이 있는 디렉토리에서 아래 venv 명령어를 사용합니다.

python -m venv venv

그러면 해당 디렉토리에 venv 디렉토리가 만들어진 것을 알 수 있어요.

이제는 아래 명령어로 가상환경을 활성화 합니다.

. venv/bin/activate

그러면 리눅스 계정명 제일 앞에 괄호가 추가될거에요. 예를 들어 저의 계정명이 love@linux.server라면 (venv) love@linux.server 형태로 바뀌는 것이죠.

만일 가상 환경을 종료하고 싶다면 언제든지 다음의 명령어를 사용하세요.

deactivate

이제는 여러분들이 구축한 가상환경 안에서 pygame을 설치합니다.

명령어는 이것을 사용하세요.

pip3 install pygame

인터넷을 보면 ModuleNotFoundError : : No module named ‘pygame’가 나올 때 여러 설치 명령어를 사용해보라고 하는데요.

저는 이 명령어가 제일 간단해서 사용했어요.

설치 후 pygame이 제대로 설치되었는지 확인해 봐요. 이 명령어를 사용해 보세요.

pip show pygame

관련 정보가 나오면 제대로 설치된거에요. 아니면 아래 명령어를 통해 확인해 볼수도 있어요.

pip list

출력되는 리스트에 pygame이 포함되어 있으면 제대로 설치된거에요.

현재 상태로 visual studio code의 파이썬에서 ‘import pygame’을 입력하고 실행하면 역시나 동일한 에러가 계속 발생합니다.

아직 문제가 해결되지 않았어요. 마지막 단계를 해야 합니다.

계속 가상환경을 유지해야 합니다.

그리고 visual studio code가 실행되고 있는 상태에서 키보드의 ‘컨트롤+shift+p’를 누릅니다. 만일 맥 컴퓨터를 사용한다면 ‘command+shift+p’키를 누르세요.

그러면 visual studio code에서 아래의 명령창이 나올거에요.

[그림 2] visual studio code의 명령창
[그림 2] visual studio code의 명령창

거기서 제일 위에 있는 ‘Python: Select Interpreter’을 클릭해주세요. 그러면 아래의 화면을 볼 수 있어요.

[그림 3] Select Interpreter를 선택한 후의 화면
[그림 3] Select Interpreter를 선택한 후의 화면

그림과 같이 기본적으로 선택되어 있는 interpreter가 가상환경용이 아닐거에요.

그래서 가상환경용 interpreter를 새로 만든 후 그것을 사용할 겁니다. 이를 위해 일단 [그림 3]에서 보면 첫번째 줄에 있는 ‘Create Virtual Environment…’을 클릭합니다.

그리고는 순차적으로 나오는 것을 읽어 보시고 적당한 것을 클릭해주시면 됩니다. 저의 경우에는 아래의 화면이 나와서 Venv를 선택했어요.

[그림 4] Venv를 선택해 줍니다.
[그림 4] Venv를 선택합니다.

이렇게 해서 모든 설정이 끝났습니다.

그러면 ‘컨트롤+shift+p’를 다시 누른 후 ‘python: Select Interpreter’를 클릭했을 때 아래 [그림 5]의 화면이 나오면 됩니다. Venv 가상환경용 interpreter가 생성되어 기본값으로 선택되어 있어요.

[그림 5] 그림 2에서 보았던 interpreter와는 달리 venv와 관련된 가상환경용 interpreter가 생성된 것을 알 수 있어요. 그러면 ModuleNotFoundError 문제는 더이상 나타나지 않아요.
[그림 5] 그림 2에서 보았던 interpreter와는 달리 venv와 관련된 가상환경용 interpreter가 생성된 것을 알 수 있어요. 그러면 ModuleNotFoundError 문제는 더이상 나타나지 않아요.

그러면 [그림 5]의 가상환경용 interpreter가 만들어져 있을거에요. 저도 재시작하면 되는 것을 몰라서 쓸데없이 계속 반복하고 그랬어요.

마지막으로 pygame이 제대로 import되는지 다시 확인해봐야겠죠.

visual studio code 파이썬에 ‘import pygame’을 입력하고 실행해 보세요. 에러 없이 ‘Hello from the pygame community…’ 이런 문구가 나오면 제대로 동작하는 거에요.

고생 많으셨습니다.

흥미롭고 도움이 되는 글이었나요? 리뷰를 부탁드립니다.
[Total: 1 Average: 5]

Leave a Comment