본문 바로가기
인터넷/모바일/머신러닝

anaconda 환경에서 ImportError: No module named pandas 해결법.

by blade. 2019. 8. 7.

anaconda 환경 하에서 pip install 명령으로 pandas 모듈을 인스톨하였음에도 불구하고, python을 실행해서 import pandas 명령을 내리면,

 

'ImportError: No module named pandas'

 

라는 에러 메시지가 날 때가 있음.

 

문제점은 3가지로 나눌 수 있을 것 같음.

 

문제점 1. pandas 모듈이 정말 안 깔렸다. 또는 다른 버전이 깔렸다.

문제점 2. 환경 변수(path)가 잘못되어서, pip가 다른 곳에 모듈을 설치했다.

문제점 3. conda에서 conda create로 가상환경을 만들 때에 pip가 제대로 복사되지않았다. (제대로 복사가 안 된 이유는 모르겠다. anaconda 2019-7월 버전의 버그일 수도...)

 

그럼 해결 방법을 써보자.

 

문제점 1 해결 방법.

(pandas 모듈이 정말 안 깔렸다. 또는 다른 버전이 깔렸다.)

 

1
2
pip install --upgrade pandas # 최신 버전으로 업그레이드.
pip install pandas==0.23 # 지정된 버전으로 업그레이드.
cs

 

문제점 2 해결 방법.

(환경 변수(path)가 잘못되어서, pip가 다른 곳에 모듈을 설치했다,인 경우)

 

쉘 띄운 후에 아래와 같이 pip, python이 실행되는 디렉토리를 확인해본다.

 

1
2
3
4
5
6
7
# source activate py3
 
# which pip
~user/anaconda3/bin/pip
 
# which python
~user/anaconda3/envs/py3/bin/python
cs

 

위의 예제처럼 pip와 python의 실행 디렉토리가 다르면, 쉘 상에서 pip 명령으로 모듈을 설치해도, 정작 python 프로그램 내부에서는 모듈을 import하지 못 한다.

 

- PATH를 확인해보거나 (envs |grep PATH), 

- conda 가상환경을 지우고 새로 만들어본다.

conda remove ${env_name}

conda create -n py3 python=3.7

 

문제점 3 해결 방법.

(가상환경을 만들 때에 pip가 제대로 설치되지않았다,인 경우)

 

1
2
3
4
5
# source activate py3
# pip install --upgrade pip
# python -m ensurepip 
# python -m ensurepip --upgrade
# python -m ensurepip --default-pip
cs

 

- 끝 -