ImportError: No module named PIL

PythonPython Imaging-LibraryEasy Install

Python Problem Overview


I use this command in the shell to install PIL:

easy_install PIL

then I run python and type this: import PIL. But I get this error:

Traceback (most recent call last):
  File "<console>", line 1, in <module>
ImportError: No module named PIL

I've never had such problem, what do you think?

Python Solutions


Solution 1 - Python

In shell, run:

pip install Pillow

Attention: PIL is deprecated, and pillow is the successor.

Solution 2 - Python

On some installs of PIL, you must do

import Image

instead of import PIL (PIL is in fact not always imported this way). Since import Image works for you, this means that you have in fact installed PIL.

Having a different name for the library and the Python module is unusual, but this is what was chosen for (some versions of) PIL.

You can get more information about how to use this module from the official tutorial.

PS: In fact, on some installs, import PIL does work, which adds to the confusion. This is confirmed by an example from the documentation, as @JanneKarila found out, and also by some more recent versions of the MacPorts PIL package (1.1.7).

Solution 3 - Python

On a different note, I can highly recommend the use of Pillow which is backwards compatible with PIL and is better maintained/will work on newer systems.

When that is installed you can do

import PIL 

or

from PIL import Image

etc..

Solution 4 - Python

At first install Pillow with

pip install Pillow

or as follows

c:\Python35>python -m pip install Pillow

Then in python code you may call

from PIL import Image

"Pillow is a fork of PIL, the Python Imaging Library, which is no longer maintained. However, to maintain backwards compatibility, the old module name is used." From https://stackoverflow.com/questions/23834663/pillow-installed-but-no-module-named-pillow-python2-7-windows-7-python

Solution 5 - Python

This worked for me on Ubuntu 16.04:

sudo apt-get install python-imaging

I found this on Wikibooks after searching for about half an hour.

Solution 6 - Python

Sometimes I get this type of error running a Unitest in python. The solution is to uninstall and install the same package on your virtual environment.

Using this commands:

pip uninstall PIL

and

pip install  PIL 

If for any reason you get an error, add sudo at the beginning of the command and after hitting enter type your password.

Solution 7 - Python

you have to install Image and pillow with your python package.

type

python -m pip install image 

or run command prompt (in windows), then navigate to the scripts folder

cd C:\Python27\Scripts

then run below command

pip install image

Solution 8 - Python

On windows 10 I managed to get there with:

cd "C:\Users\<your username>\AppData\Local\Programs\Python\Python37-32" 
python -m pip install --upgrade pip     <-- upgrading from 10.something to 19.2.2.
pip3 uninstall pillow
pip3 uninstall PIL
pip3 install image

after which in python (python 3.7 in my case) this works fine...

import PIL
from PIL import image

Solution 9 - Python

I used:

pip install Pillow 

and pip installed PIL in Lib\site-packages. When I moved PIL to Lib everything worked fine. I'm on Windows 10.

Solution 10 - Python

if you use anaconda:

conda install pillow

Solution 11 - Python

On windows, try checking the path to the location of the PIL library. On my system, I noticed the path was

\Python26\Lib\site-packages\pil instead of \Python26\Lib\site-packages\PIL  

after renaming the pil folder to PIL, I was able to load the PIL module.

Solution 12 - Python

Install Specific Version:

pip install Pillow

Upgrade Pillow

sudo pip3 install --upgrade Pillow

Getting Dependency Error in Window 10 Use code: easy_install instead of pip install

easy_install Pillow 

Upgrade using easy install

sudo easy_install --upgrade  Pillow

On OSX System to install Module: Use code: brew install instead of pip install

brew install Pillow 

Without Using Pip :

 sudo apt-get install -y Pillow 

On CentOS7 or Linux Fedora:

yum -y install Pillow 

Or on Fedora try

sudo dnf install Pillow 

Command if Homebrew screws up your path on macOS:

python -m pip install Pillow 

For Python3 MacOs Homebrew screws

python3 -m pip install Pillow

Verify module from list MacOs

pip freeze | grep  Pillow

For Execute on Anaconda as your python package manager

 conda install -c anaconda Pillow 

Solution 13 - Python

You will need to install Image and pillow with your python package. Rest assured, the command line will take care of everything for you.

Hit

python -m pip install image

Solution 14 - Python

instead of PIL use Pillow it works

easy_install Pillow

or

pip install Pillow

Solution 15 - Python

pip(3) uninstall Pillow
pip(3) uninstall PIL
pip(3) install Pillow

Solution 16 - Python

The cleanest way to resolve this issue is by following below steps.

Step 1: Uninstall the PIL package.

pip uninstall PIL

Step 2: Install the Pillow using pip as shown below on windows operating systems. For other environments checkout the article No module named PIL

On Windows

python3 -m pip install --upgrade pip
python3 -m pip install --upgrade Pillow

Step 3: The most crucial class in the Python Imaging Library is the Image class, and you can import this as shown below.

from PIL import Image
im = Image.open("myimage.jpg")

If successful, this function returns an Image object. You can now use instance attributes to examine the file contents:

print(im.format, im.size, im.mode)

#Output: PPM (512, 512) RGB

Solution 17 - Python

use pil instead of PIL

from pil import Image

Solution 18 - Python

On Windows, you need to download it and install the .exe

https://pypi.python.org/pypi/Pillow/2.7.0

Solution 19 - Python

I used conda-forge to install pillow version 5, and that seemed to work for me:

conda install --channel conda-forge pillow=5

the normal conda install pillow did NOT work for me.

Solution 20 - Python

I had the same problem and i fixed it by checking what version pip (pip3 --version) is, then realizing I'm typing python<uncorrect version> filename.py instead of python<correct version> filename.py

Solution 21 - Python

I used :

from pil import Image

instead of

from PIL import Image

and it worked for me fine

wish you bests

Solution 22 - Python

I had the same issue on windows 10 and this worked for me:

> pip install Pillow

Solution 23 - Python

I had the same issue while importing PIL and further importing the ImageTk and Image modules. I also tried installing PIL directly through pip. but not success could be achieved. As in between it has been suggested that PIL has been deprectaed, thus, tried to install pillow through pip only. pillow was successfully installed, further, the PIL package was made under the path : python27/Lib/site-packages/.

Now both Image and ImageTk could be imported.

Solution 24 - Python

I recently installed Leap. I Tried openshot and it didn't start. So came here and found a suggestion to start from the Terminal to see if there were any error.

The error I had was error missing mlt. So I installed the python-mlt module from Yast and imported it, tried to start but next openshot said missing pil.

I Followed the Pillow suggestion to install because Yast couldn't find any pil and imported pil. That went ok but did not start and showed Error missing goocanvas.

The I installed goocanvas with Yast, imported it in python, and Openshot fired up !!

With a lot of errors in the terminal like missing Vimeoclient and lots of attributeerrors. Well, will see if it is of any influence working with it.

Solution 25 - Python

Python 3.8 on Windows 10. A combination of the answers worked for me. See below for a standalone working example. The commented out lines should be executed in the command line.

import requests
import matplotlib.pyplot as plt
# pip uninstall pillow
# pip uninstall PIL
# pip install image
from PIL import Image
url = "https://images.homedepot-static.com/productImages/007164ea-d47e-4f66-8d8c-fd9f621984a2/svn/architectural-mailboxes-house-letters-numbers-3585b-5-64_1000.jpg"
response = requests.get(url, stream=True)
img = Image.open(response.raw)
plt.imshow(img)
plt.show()

Solution 26 - Python

I had the same issue and tried many of the solutions listed above.

I then remembered that I have multiple versions of Python installed AND I use the PyCharm IDE (which is where I was getting this error message), so the solution in my case was:

In PyCharm:

go to File>Settings>Project>Python Interpreter

click "+" (install)

locate Pillow from the list and install it

Hope this helps anyone who may be in a similar situation!

Solution 27 - Python

I found an easier solution. Use a virtual environment.

pip install Pillow
from PIL import Image

This works for me on a macOS

Solution 28 - Python

According to the official websiteInstall Pillow, you may want to try this:

go to Terminal and run:

  • python3 -m pip install --upgrade pip

Then Run on

  • source ~/.bash_profile

Solution 29 - Python

You are probably missing the python headers to build pil. If you're using ubuntu or the likes it'll be something like

apt-get install python-dev

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAsma GheisariView Question on Stackoverflow
Solution 1 - Pythonzhiming wangView Answer on Stackoverflow
Solution 2 - PythonEric O LebigotView Answer on Stackoverflow
Solution 3 - PythonDamianView Answer on Stackoverflow
Solution 4 - PythonOrhan CelikView Answer on Stackoverflow
Solution 5 - PythongrooveplexView Answer on Stackoverflow
Solution 6 - PythonFernando MunozView Answer on Stackoverflow
Solution 7 - PythonazdoudView Answer on Stackoverflow
Solution 8 - Pythonandrew pateView Answer on Stackoverflow
Solution 9 - PythoncromastroView Answer on Stackoverflow
Solution 10 - PythonConor CosnettView Answer on Stackoverflow
Solution 11 - PythonKomlaView Answer on Stackoverflow
Solution 12 - PythonShantanu BombatkarView Answer on Stackoverflow
Solution 13 - PythonDipanshu SehjalView Answer on Stackoverflow
Solution 14 - Pythonsaigopi.meView Answer on Stackoverflow
Solution 15 - PythonNewtView Answer on Stackoverflow
Solution 16 - PythonSrinivas RamakrishnaView Answer on Stackoverflow
Solution 17 - PythonNewtView Answer on Stackoverflow
Solution 18 - Pythonuser285594View Answer on Stackoverflow
Solution 19 - PythonGeoff PerrinView Answer on Stackoverflow
Solution 20 - PythonOri BarmatzView Answer on Stackoverflow
Solution 21 - PythonHeydarView Answer on Stackoverflow
Solution 22 - PythonCyebukayireView Answer on Stackoverflow
Solution 23 - PythonPrateek JainView Answer on Stackoverflow
Solution 24 - PythonJohanView Answer on Stackoverflow
Solution 25 - PythonJortegaView Answer on Stackoverflow
Solution 26 - PythonGoob-The-NoobView Answer on Stackoverflow
Solution 27 - PythonThesonterView Answer on Stackoverflow
Solution 28 - PythonMohamed BerrimiView Answer on Stackoverflow
Solution 29 - PythonCrankyadminView Answer on Stackoverflow