为什么Python无法从PIL导入Image?

76

我试图运行的单行代码如下:

from PIL import Image

无论看起来多么简单,它都会出现错误:

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'

如果有帮助的话,我在运行这个脚本之前从https://pypi.python.org/pypi/Pillow/2.6.1安装了pillow (文件名为Pillow-2.6.1.win-amd64-py3.4.exe)(在此之前已经安装了“PIL”,我已经卸载了它)。该脚本是在Python版本3.4.1下使用Pyzo运行的。

出了什么问题,我怎样才能导入Image


1
也许尝试重新安装?或者查看Image.py源代码,你可能会发现是什么导致了这个问题。 - Totem
@Evert 第14行和第15行是 VERSION = '1.1.7'PILLOW_VERSION = '2.6.1',这些似乎是唯一的常量。此处还有58行。 - Betohaku
我认为很可能是Python仍然在您的PYTHONPATH上找到了另一个“PIL”。尝试类似这样的命令:python3.4 -c "import PIL; print(PIL.__file__)" - user707650
在Pyzo中运行“import PIL; print(PIL.file)”会得到“C:\ pyzo2014a \ lib \ site-packages \ PIL \ init.py”,这就是它应该有的样子,对吗?CMD不识别前面的“python3.4”。 - Betohaku
我投票将此问题标记为“不符合主题”,因为安装问题属于不符合主题的范畴。 我可以在SO上提出关于安装的问题吗? 软件工具是程序员常用的工具,但我们只回答与软件开发有关的实际可解决的独特问题。 - Trenton McKinney
显示剩余7条评论
19个回答

70

我遇到了相同的错误。这是我的处理流程。首先我安装了PIL(而不是Pillow),使用了以下命令:

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

然后我发现了Pillow,并使用以下方式安装它

pip install Pillow

解决我的问题的方法是卸载两者并重新安装Pillow。

pip uninstall PIL
pip uninstall Pillow
pip install Pillow

4
我也用pip3卸载并重新安装解决了这个问题。真的很奇怪... - Jerther
谢谢!你让我省去了两个小时试图解决这个错误的时间。 - Karlo
实际上,只有第一行修复了我的问题。GAE(在app.yaml中)需要的是PIL而不是Pillow。谢谢。 - makkasi
在我的情况下,pip install Pillow 就足够了,谢谢! - Lucas
我遇到了以下错误,它太大了无法在此处发布,但可以在此处找到:https://github.com/OlafenwaMoses/ImageAI/issues/171 - logic1976
卸载然后重新安装解决了我的问题。 - j3ffyang

26
我遇到了同样的问题,并且采取以下措施来修复它:
  1. 在命令提示符中执行以下操作:

    pip install Pillow ##
    
  2. 确保您使用

  3. from PIL import Image
    

图像中的 I 必须大写。这是我遇到的问题。


25

顺便说一下,当我遇到同样的错误时,以下方法对我有效:

pip install --upgrade --force-reinstall Pillow

13

在我的代码中,我将image的i小写了,正确应该是大写的Image。所以我做了以下更改:

from PIL import Image 而不是 from PIL import image


12

如果您使用 Anaconda,您可以尝试:

conda install Pillow

例子


7
所有的答案都很好,但是对我来说最有效的方法是卸载Pillow。
pip uninstall Pillow

然后安装您需要的任何软件包,例如:
sudo apt-get -y install python-imaging
sudo apt-get -y install zlib1g-dev
sudo apt-get -y install libjpeg-dev

然后使用easy_install重新安装Pillow。
easy_install Pillow

希望这能帮到其他人。

1
你获得了一颗金星。这终于为我解决了问题!谢谢! - superbeck
1
超级英雄! 我整夜都在调试这个无聊的东西,感谢你救了我。 - Benny K

5

使用命令行安装Pillow:

python -m pip install pillow

3

目前免费版本为PIL 1.1.7。此版本支持Python 1.5.2及更高版本,包括2.5和2.6。3.X版将在以后发布。

Python图像处理库(PIL)

你的Python版本是3.4.1,不支持使用PIL!


5
这是 Pillow,它是 PIL 的分支版本,支持 Python 3。 - Siyuan Ren

2
在Ubuntu操作系统中,我用以下命令解决了这个问题。
pip install Pillow
apt-get install python-imaging

很抱歉,不要问我为什么,这是我的决定;-)


(提示:此段文字没有涉及IT技术相关内容)

1

我也遇到了同样的错误,尝试卸载并重新安装一下吧。

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

安装Pillow 链接,了解基础知识,请参考此链接

使用Jupyter Notebook进行以下安装,并按照下面展示的代码进行验证。

pip install pillow

#(or)

pip install PIL

import PIL
print(PIL.__version__)

'8.4.0'

(或者)如果您正在使用命令提示符安装,则按照以下说明进行操作。个人建议采用以下方法。
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()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接