Why can't Python import Image from PIL?

PythonPython Imaging-LibraryImporterrorPython ImportPillow

Python Problem Overview


The single line that I am trying to run is the following:

from PIL import Image

However simple this may seem, it gives an error:

Traceback (most recent call last):
  File "C:\...\2014-10-22_12-49.py", line 1, in <module>
    from PIL import Image
  File "C:\pyzo2014a\lib\site-packages\PIL\Image.py", line 29, in <module>
    from PIL import VERSION, PILLOW_VERSION, _plugins
ImportError: cannot import name 'VERSION'

In case that's helpful, I installed pillow from https://pypi.python.org/pypi/Pillow/2.6.1 (file Pillow-2.6.1.win-amd64-py3.4.exe) before running this (before that there was already som PIL install, which I uninstalled). The script is run in Pyzo with Python version 3.4.1.

What is going wrong, how can I import Image?

Python Solutions


Solution 1 - Python

I had the same error. Here was my workflow. I first installed PIL (not Pillow) using

pip install --no-index -f https://dist.plone.org/thirdparty/ -U PIL

Then I found Pillow and installed it using

pip install Pillow

What fixed my issues was uninstalling both and reinstalling Pillow

pip uninstall PIL
pip uninstall Pillow
pip install Pillow

Solution 2 - Python

I had the same issue, and did this to fix it:

  1. In command prompt

     pip install Pillow ##
    
  2. Ensure that you use

     from PIL import Image
    

I in Image has to be capital. That was the issue in my case.

Solution 3 - Python

FWIW, the following worked for me when I had this same error:

pip install --upgrade --force-reinstall pillow

Solution 4 - Python

For me, I had typed image with a lower case "i" instead of Image. So I did:

from PIL import Image NOT from PIL import image

Solution 5 - Python

If you use Anaconda, you may try:

conda install Pillow

Example

Solution 6 - Python

All the answers were great however what did it for me was a combination of uninstalling Pillow

pip uninstall Pillow

Then installing whatever packages you need e.g.

sudo apt-get -y install python-imaging
sudo apt-get -y install zlib1g-dev
sudo apt-get -y install libjpeg-dev

And then using easy_install to reinstall Pillow

easy_install Pillow

Hope this helps others

Solution 7 - Python

Install Pillow from Command Line:

python -m pip install pillow

Solution 8 - Python

> The current free version is PIL 1.1.7. This release supports Python 1.5.2 and newer, including 2.5 and 2.6. A version for 3.X will be released later.

Python Imaging Library (PIL)

Your python version is 3.4.1, PIL do not support!

Solution 9 - Python

In Ubuntu OS, I solved it with the followings commands

pip install Pillow
apt-get install python-imaging

And sorry, dont ask me why, it's up to me ;-)

Solution 10 - Python

had the same error while using pytorch code which had deprecated pillow code. since PILLOW_VERSION was deprecated, i worked around it by:

Simply duplicating the _version file and renaming it as PILLOW_VERSION.py in the same folder.

worked for me

Solution 11 - Python

I had the same problem, pillow was installed with an environment.yml in anaconda

I am quickly learning that pip and setuptools must always be up to date or I will have problems. Always update these tools before installing packages.For any package import problem uninstall the package upgrade the listed tools(maybe even your base environment) and reinstall.

conda uninstall pillow
python -m pip install pip --upgrade
pip install setuptools --upgrade
pip install pillow

If using Anaconda, from the base environment first run the following before installing packages/environments:

conda update conda

Updating the base env is not required to fix this issue but is a good practice to avoid similar problems

@theeastcoastwest touched on the pip upgrade in their answer but I felt more information was needed

Solution 12 - Python

do from PIL import Image, ImageTk

Solution 13 - Python

If you did all and it didn't work again like mien, do this copy Image.py and ImageTk.py from /usr/lib/python3/dist-packages/PIL on ubuntu and C:/Users/yourComputerName/AppData/Local/Programs/Python/Python36/Lib/PIL on windows to your projects directory and just import them!

Solution 14 - Python

Any library/package you import must have its dependencies and subordinate parts in the same python directory. in linux if you

Python3.x -m pip install <your_library_name_without_braces>

what happens is, it installs on the default python. so first make sure that only 1 python 2.x and 1 python 3.x versions are on your pc.

If you want to successfully install matplotlib you need these lines,

python -m pip install matplotlib pillow numpy pandas

the last 2 were auxiliary libs, and must have.

Solution 15 - Python

what that worked for me:

go to the fodler

C:\Users\{YOUR PC USER NAME}\AppData\Local\Programs\Python\Python37-32\Lib\site-packages 

and either delete or change the name of the PIL folder and DONE.

had to do it after running

pip uninstall PIL

as other suggested yielded for me

WARNING: Skipping PIL as it is not installed.

But I am not sure about the consequences of removing that library so I will edit this post if I ever get into a problem because of that.

Solution 16 - Python

Now, I actually did some debugging with my brother and found that Pillow (PIL) needed to be initialized. I don't know how to initialize it, so you could probably stick with reinstalling Pillow.

Solution 17 - Python

If you've got different Python versions, be sure to install it with the version, you start the script:

python3.9 -m pip install pillow --upgrade

After a lot of googling and different solutions, this is the most efficient, I found.

Solution 18 - Python

I am also facing same error, just try to uninstall and resinstall

#uninstall and resinstalltion cmds
pip uninstall pillow
pip uninstall PIL
pip install pillow

Pillow installation link basics link

Using jupyter note book do this below follwing installationa and verified the code as shown below

pip install pillow

#(or)

pip install PIL

import PIL
print(PIL.__version__)

'8.4.0'

(Or) You are using command prompt installation then follow below instruction for windows. Personally suggest this below method.

Microsoft Windows [Version 10.0.19043.1348]
(c) Microsoft Corporation. All rights reserved.

>pip install pillow
Requirement already satisfied: pillow in c:\users\admin\appdata\roaming\python\python310\site-packages (9.0.0)

>python
Python 3.10.1 (tags/v3.10.1:2cd268a, Dec  6 2021, 19:10:37) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import PIL
>>> (PIL.__version__)
'9.0.0'
>>> quit()

Solution 19 - Python

Try import PIL instead of from PIL import image.

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
QuestionBetohakuView Question on Stackoverflow
Solution 1 - PythonTrentView Answer on Stackoverflow
Solution 2 - PythonNijanth AnandView Answer on Stackoverflow
Solution 3 - PythonalphazwestView Answer on Stackoverflow
Solution 4 - PythonalkadelikView Answer on Stackoverflow
Solution 5 - PythonRuikai HView Answer on Stackoverflow
Solution 6 - PythonArtisanView Answer on Stackoverflow
Solution 7 - PythonVatsala JhaView Answer on Stackoverflow
Solution 8 - PythonselfbootView Answer on Stackoverflow
Solution 9 - PythonVivien G.View Answer on Stackoverflow
Solution 10 - PythonAditya ChhabraView Answer on Stackoverflow
Solution 11 - PythondpoieszView Answer on Stackoverflow
Solution 12 - PythonGuydangerous99View Answer on Stackoverflow
Solution 13 - PythonkeshvariView Answer on Stackoverflow
Solution 14 - Pythonnikhil swamiView Answer on Stackoverflow
Solution 15 - PythoncoderView Answer on Stackoverflow
Solution 16 - PythonJustARandomGuyView Answer on Stackoverflow
Solution 17 - PythonrundekugelView Answer on Stackoverflow
Solution 18 - PythonRabiyulfahimView Answer on Stackoverflow
Solution 19 - PythonkabView Answer on Stackoverflow