51
votes

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?

17
perhaps try a reinstall? Or have a look int the Image.py source and you might see what's causing the issue..Totem
@Totem Tried the reinstall, did nothing. I do see the line (29) in the source, but have no idea how it causes an issue.Betohaku
Can you check that C:\pyzo2014a\lib\site-packages\PIL\__init__.py contains constants like VERSION, PILLOW_VERSION etc? For the record, my __init__.py is 58 lines long, same (2.6.1) Pillow version.user707650
@Evert Lines 14 and 15 are VERSION = '1.1.7' and PILLOW_VERSION = '2.6.1', these seem to be the only constants. 58 lines here as well.Betohaku
Then I think it's likely python still picks up another PIL on your PYTHONPATH. Try something like python3.4 -c "import PIL; print(PIL.__file__)".user707650

17 Answers

55
votes

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
20
votes

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.

14
votes

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

pip install --upgrade --force-reinstall pillow
10
votes

If you use Anaconda, you may try:

conda install Pillow

Example

8
votes

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

6
votes

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

3
votes

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!

3
votes

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 ;-)

3
votes

Install Pillow from Command Line:

python -m pip install pillow
1
votes

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

0
votes

do from PIL import Image, ImageTk

0
votes

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!

0
votes

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.

0
votes

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.

0
votes

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

0
votes

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.

-4
votes

Try import PIL instead of from PIL import image.