본문 바로가기
오늘의 삽질... 에러모음

[python] ModuleNotFoundError: No module named 'selenium'

by 요호유후 2025. 1. 20.
반응형

 

난 분명 10초전에 모듈 설치를 완료했다고요...

근데 또 노 모듈 에러가 떴다.

파이썬에 뭔갈 설치하고 나면 항상 하는 루틴이다ㅠㅠ

(설치 → 에러발생  얼떨결에 해결 or 포기)

 

 

ModuleNotFoundError: No module named 'selenium' or
ModuleNotFoundError: No module named 'xxxxx'

 

 

에러사항

웹 크롤링 실습을 위해 파이썬 터미널에 selenium 모듈 설치 후,

pip install selenium

 

.ipynb 파일 작업 중 아래와 같은 에러가 발생했다.  (Successfully installed 라 했는데...??)

 

 

에러원인

설치 환경과 실행 환경이 달라서 발생한다고 해야하나?

selenium 설치 환경 : Python 3.13.1 ('.venv' : venv)

python의 환경 목록들

 

모듈 설치 후, .ipynb 파일을 생성하여 코드를 작성했고 import 과정에서 no module 에러를 맞이한 것이다.

(이때, 설치 환경(인터프리터)과 상관없이 아무거나 선택이 되는듯하다)

코드 실행 환경 : Python 3.9.6

.ipynb의 환경 목록들

 

내가 모듈(selenium)을 설치한 경로인 Python 3.13.1 ('.venv' : venv) 여기가 아닌

Python 3.9.6의 환경에서 코드 실행을 하고 있었던 것!

 

즉, 모듈은 A에 설치해놓고 B에 가서 방금 설치한 모듈 그거 실행 좀 해줘! 하고 있었던 것

 

사실 Python 3.9.6 환경에 모듈(selenium)이 설치되어있었다면 에러가 발생하지 않았겠지만

해당 환경에는 모듈(selenium)을 설치하지 않았기에 위와 같이 에러가 발생하였던 것이다

 

+
가상환경의 경우, 전역 파이썬을 통해 설치된 모듈이 공유되지않는다.
즉, 가상환경에서는 필요로하는 모듈을 새로 설치해야한다.
파이썬은 기본적으로 모듈을 공유하고 있기 때문에, 프로젝트별로 모듈을 관리하기 위해서는
가상환경을 생성하여 필요한 모듈만 설치하여 관리한다.

출처 : https://green-bin.tistory.com/175

 

 

해결

설치 환경으로 커널을 변경 해주면 끄읕~~

① 아래 이미지와 같이 우측 상단의 버튼을 누른다. (버전은 아래의 이미지와 다를 수 있음)
② 그럼 중앙에 커널 정보가 표시된다. 해당하는 커널을 선택하고 실행하면 완료!
 (난 .venv 커널을 추가하였기에 아래 이미지와 같이 보여지지만,
   추가하기 전에는 Python 3.9.6 커널만 표시되었었다.)

 

 

** 만약 선택할 커널이 없다면, 추가해주면 된다.

① 다른 커널 선택...
② 환경 선택 (나의 경우 Python 환경... → .venv 선택)

* 어떤건지 모르겠다면 하나씩 눌러보는것도 방법 ㅎ

1
2-1
2-2

 

 

 

글을 정리하며...

사실 여태까지 몇 번이나 위와 같은 문제를 맞았었다.... 분명 방금 설치했는데 뭐지 하고

근데 어째저째 하다보니까 실행이 됐었거나 그냥 넘어갔었다. 원인도 해결방법도 모른채...

 

실습하는 과정에서 homebrew와 anaconda가 같이 설치되어 환경 충돌이 발생할 수 있다는

이야기를 듣고는 anaconda를 삭제한적이있었다.

그 이후로는 노 모듈 에러를 본적이 없어서 역시 anaconda가 문제였군 했었는데...

anaconda는 잘못이 없었다. 내가 마구잡이로 설치하고 실행하는 바람에 꼬여버리는 것일 뿐

 

그리고 무엇보다 나는 모듈이나 pip를 통해서 설치하는 것들은 그냥 어디서든 사용할 수 있는거라고 생각했다.

근데 노 모듈 문제는 이 생각에서 발생한다는 것을 오늘 드디어 알게되었다.

 

앞으로 설치를 진행할 때는 경로와 환경을 잘 확인하도록 해야겠고

그래도 또 노 모듈 에러가 발생하더라도 금방 해결은 할 수 있을 것 같다!

 

 

반응형

댓글