프로그래밍/삽질

[Anaconda/Jupyter Notebook] python에서는 import되는데 python3에서는 import가 되지 않는 경우(또는 그 반대)

ajdanddl 2021. 2. 8. 00:32
반응형

Jupyter Notebook으로 seaborn이라는 모듈을 사용하고자 했는데 module not found error가 계속 떴습니다.

 

pip3 install, pip install, conda install 다 시도해봤지만 requirements satisfied라는 문구만 뜰 뿐 실제로 import해서 사용하려고 하면 module not found error가 떴습니다..

이런 경우가 한 두 번이 아니었는데 이번에 조금 제대로 된 해결법을 찾을 수 있었습니다.

 

 

[ 작업 환경 ]

Window10에서 Anaconda Prompt를 이용해 작업 중이었으며

python -V

의 결과는 python 3.9.1

 

python3 -V

의 결과는 python 3.8.5라는 결과가 나왔습니다.

 

이때 cmd에서

python

을 입력하여 파이썬 3.9.1 버전의 스크립트 창을 활성화 시켰을 때는 import seaborn이 잘 되었지만

 

python3

을 입력하여 파이썬 3.8.5 버전의 스크립트 창을 활성화 시켰을 때는 import seaborn이 module not found error를 뱉었습니다.

 

jupyter kernelspec list

를 입력해서 확인한 jupyter notebook의 kernel은 3.8.5 버전으로 세팅이 되어있었습니다.

 

Kernel을 추가하는 방법을 알아봤지만 제대로 실행이 되지 않았고 kernel을 추가하는 방법보다 더 간단한 방법을 찾아내었습니다.

 

먼저 module not found error를 뱉는 버전의 python 스크립트 창을 활성화 시키고(저의 경우 3.8.5에서 에러가 났으니까 python3를 입력)

python3

나타나는 스크립트 창에 아래와 같은 명령어를 입력해줍니다.

import pip
pip.main(['install','모듈이름'])
#저의 경우 pip.main(['install','seaborn'])

그러면 python 3.8.5버전으로 seaborn을 import했을 때도 더이상 module not found error를 뱉지 않습니다.

 

그런데 위 코드를 실행하고 나니

이런 메세지가 떴습니다.

pip를 upgrade하라는 의미여서 저는 저 안내를 따라서 

C:\Users\user\AppData\Local\Programs\Python\Python38\python3.exe -m pip install --upgrade pip

이 명령어를 입력해주었습니다.

 

pip upgrade를 제대로 하지 않아 생긴 문제인듯 하지만 위에서 본 해결방법처럼 pip.main을 이용하는것도 임시방편이 될 것 같습니다.

반응형