가상환경에서 jupyter notebook으로 scikit-learn을 import 하여 데이터 분석에 사용하려던 중 자꾸
no module named 'sklearn' 이란 error로 실행이 되지 않는 문제가 있었습니다.
훗날 또 문제가 생길까 싶어 해결과정을 기록에 남깁니다.
위와 같이 sklearn 모듈이 없다는 뜻의
ModuleNotFoundError가 뜹니다.
구글링 결과 대부분 scikit-learn이 제대로 설치 되지 않아서 생기는 문제라고 하니 scikit-learn을 설치 해보기로 합니다.
scikit-learn 홈페이지 설치 과정 참고
https://scikit-learn.org/stable/install.html
cmd창에
pip install -U scikit-learn
또는 jupyter notebook shell에서
!pip install -U scikit-learn
Successfully installed scikit-learn[version]이 뜬다면 성공적인 설치가 된 것 입니다.
하지만 무엇 때문인지
계속 no module named 'sklearn' !!
scikit-learn의 버전이 0.24이었어서 버전 문제일까봐 알고 upgrade도 진행해 보았습니다.
cmd창
pip install scikit-learn --user --upgrade
또는 jupyter notebook shell에서
!pip install scikit-learn --user --upgrade
해서 scikit-learn의 버전 1.1.1이 되었지만 그래도 같은 error가 해결되지 않았습니다.
결국 가상환경을 새로 만들어서 해보기로 합니다.
python은 지정해줘도 되고 안해도 됩니다.
conda create -n 가상환경이름 python=python버전
해당 명령어를 실행하면 라이브러리들을 설치하고자 하니 동의를 구합니다. 입력란에 y를 입력하시고 Enter 키를 입력하면 설치 합니다.
conda env list
설치한 가상환경의 이름이 나오면 설치가 완료 된 것 입니다.
새로 설치한 가상환경에서
위와 같이 설치 후 실행한 결과
scikit-learn이 error없이 실행되었습니다.
원인은 아마도 가상환경 내 여러 모듈 package가 꼬여서 생긴 문제라고만 추측해 봅니다.
틀린 내용이나 수정이 필요한 부분은 댓글로 남겨주시면 감사하겠습니다.
감사합니다. 덕분에 잘 해결하였습니다.