[Python] scipy에서 imread가 안읽혀!!!  ( ImportError: cannot import name 'imread' )
TroubleShooting

[Python] scipy에서 imread가 안읽혀!!! ( ImportError: cannot import name 'imread' )

문제상황

scipy 모듈의 imread로 사진을 불러오고 싶은데 오류가 남.

[python]

from scipy.misc import imread

~~

ImportError: cannot import name 'imread'

보통, 오래된 사이트의 코드를 참고할 때, imread를 scipy.misc 모듈에서 불러오실 겁니다. 

실행하면 다음과 같은 에러가 뜨기 망정이죠

ImportError: cannot import name 'imread'


scipy의 공식 홈페이지를 보면 

출처 : https://docs.scipy.org/doc/scipy-1.2.1/reference/generated/scipy.misc.imread.html

 

imread is deprecated!

scipy의 imread는 1.2.0 버전 이후로는 사용되지 않고, imageio 모듈의 imread를  사용하라고 권장합니다. 

결국, scipy 1.2.0 이후의 버전에서 "from scipy.misc import imread" 코드는 에러가 발생합니다. 

root@user:~$ pip install scipy

scipy를 다운로드 하시면, scipy 1.2.0 이후의 버전을 자동으로 다운받게 됩니다. 


해결방안

1. scipy 모듈의 imread가 아닌 imageio 모듈의 imread 사용하기

  *정식 사이트에서 추천하는 방식

imageio 설치 후, imageio 모듈에서 imread를 불러옴

root@user:~$ pip install imageio

 

[python]
from imageio import imread

~

 

 

2. scipy를 처음 다운 받을 때

scipy 1.2.0 이전의 버젼을 다운받기

root@user:~$ pip install scipy==1.1.0

 

3. 이미 scipy 1.2.0 버전 이상일 때

scipy 1.2.0 이후의 버젼을 삭제하고 scipy 1.2.0 이전의 버젼을 다운받기

root@user:~$ pip uninstall scipy 
root@user:~$ pip install scipy ==1.1.0