지금까지 잘 작동되던 vscode, sublime text에서 오류가 발생했습니다. 신기한 것은 anaconda에서는 오류가 발생하지 않았습니다. ModuleNotFoundError는 비교적 간단한 에러입니다.
파이썬에서 사용자가 사용하려는 모듈을 찾을 수 없다는 것입니다. 즉, pip install을 이용해 모듈을 설치하면 됩니다. 너무 간단하기 때문에 문제라고 인식도 안됩니다.
그런데, 앞에서 언급한 것처럼 이미 모듈이 설치된 상황인데 모듈을 찾을 수 없다는 에러가 표시된다면 난감합니다. 무엇인가 경로에서 문제가 발생했을 것이라는 추측을 해볼 수 있습니다.
이런 경우, 일반적으로 path를 확인하거나 에디터를 재설치하여 경로를 빠르게 바로잡는 방법을 생각할 수 있습니다. 이런 번거로운 작업보다 쉽게 해결할 수 있는 방법이 있었습니다.
모듈이 설치되어 있는데, 모듈을 찾을 수 없다는 에러 해결 방법
바로 사용하는 파이썬의 버전을 확인하는 것입니다. 필자의 경우, 필요에 따라 에디터 세 개를 사용합니다. 이렇게 여러 가지 에디터를 사용하는 경우는 흔치 않을 수 있습니다.
anaconda 파이썬 환경에서는 같은 스크립트 코드를 실행해도 문제가 없습니다. 문제는 sublime text, vscode에서 발생합니다. 그 원리는 자세하게 모르지만, sublime text와 vscode는 파이썬을 별도로 설치해야 합니다. 즉, base가 되는 파이썬이 중요한 것이죠.
제가 사용하는 환경은 base로 anaconda가 설정되어 있습니다. anaconda에서 설치된 파이썬 버전이 기준이 되고, 해당 버전에서 설치된 모듈을 불러와야 합니다.
파이썬 버전에 따라 크게 차이가 없다면 문제 상황이 발생하지 않겠지만, 버전에서 차이가 있다면 지금과 같은 문제가 발생하는 것 같습니다.
해결 방법은 간단합니다. vscode에서 인식하고 있는 파이썬의 버전을 바꿔주면 됩니다.
vscode 파이썬 버전 확인
vscode를 실행합니다. 오른쪽 하단에 보면 파이썬 버전이 보입니다.
해당 버전을 클릭합니다.
vscode 상단에 Select Interpreter가 있습니다. 버전을 클릭하면 위 사진과 같은 내용을 확인할 수 있습니다. 여기서 자신이 구축한 환경에 맞는 파이썬 버전으로 선택하면 됩니다. 참 간단한데, 해당 방법을 몰라서 한참을 헤매기도 했습니다.
stackoverflow에서도 검색을 했네요. 어째서 파이썬 버전이 변경되어 있었는지는 모르겠지만, 간단하게 해결할 수 있어서 다행이었습니다.
👉 파이썬 api 이용시, TLS CA certificate bundle 오류가 발생했을 때.
👉 [python selenium error] There is no such driver by url 갑자기 크롬 드라이버가 안될 때.