Cannot import scipy.misc.imread

I've seen this problem before with other people, but haven't found a fix.

All I'm trying to do is:

from scipy.misc import imread

and I get

/home1/users/joe.borg/<ipython-input-2-f9d3d927b58f> in <module>()
----> 1 from scipy.misc import imread

/software/Python/272/lib/python2.7/site-packages/scipy/misc/__init__.py in <module>()
     16 try:
     17     from pilutil import *
---> 18     __all__ += pilutil.__all__
     19 except ImportError:
     20     pass

NameError: name 'pilutil' is not defined

But it's fine when I do from pilutil import * on its own (no import error). Even .../site-packages/scipy/misc/pilutil.py exists so I've got no idea why this is failing.

Answers


You might need to install PIL or Pillow.


The method imread in scipy.misc requires the forked package of PIL named Pillow. If you are having problem installing the right version of PIL try using imread in other packages:

from matplotlib.pyplot import imread
im = imread(image.png)

To read jpg images without PIL use:

import cv2 as cv
im = cv.imread(image.jpg)

You can try from scipy.misc.pilutil import imread instead of from scipy.misc import imread

Please check the GitHub page : https://github.com/amueller/mglearn/issues/2 for more details.


If you have Pillow installed with scipy and it is still giving you error then check your scipy version because it has been removed from scipy since 1.3.0rc1.

rather install scipy==1.1.0. It worked for me!

check https://github.com/scipy/scipy/issues/6212


looking into the documentation it says scipy.misc.imread is deprecated. It says to install imageio, and to use imageio.imread instead. Works great!


I received errors when trying to use

from scipy.misc import imread

I was able to remove the errors and use the above line by first installing numpy+mkl and then installing scipy from Christoph Gohlke's website.

For me this was:

pip install numpy-1.11.1+mkl-cp27-cp27m-win32.whl
pip install scipy-0.17.1-cp27-cp27m-win32.whl

You will need to pick the correct version of the whl's for your system.

Also, make sure the pip command installs the modules. If you have any 1 or more of these already installed, you might need to use pip to force a reinstall.


pip3 install Pillow==4.3.0 is good for me, but Pillow==5.1.0 raising error. So you maybe only need to change the pillow version.


Need Your Help

Proguard and reflection in Android

java android reflection obfuscation proguard

I have just used proguard, but classes I am trying to instantiate via reflection are not working.