导入错误:找不到PIL模块。

360

我在 shell 中使用这个命令来安装 PIL:

easy_install PIL

我运行python并输入以下命令:import PIL。但是我遇到了下面的错误:

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

我从未遇到过这样的问题,你认为是什么原因?


16
这篇文档页面实际上建议使用from PIL import Image,但这种方法不起作用。 - Janne Karila
2
@Janne 只需使用Import Image,PIL就可以开始工作了。 - Asma Gheisari
2
此时我建议使用easy_install Pillow。Pillow是PIL的一个分支,具有更好的打包和支持Python 3的功能。 - Lennart Regebro
1
你能否将被接受的答案更改为推荐Pillow的答案?正如@LennartRegebro所说,这个包在长期内更好。 - Josiah Yoder
2
请使用 pip install Pillow 命令进行安装。然后您就可以使用 import PIL.Image 进行导入。 - Tiago Martins Peres
31个回答

493
在shell中运行:
pip install Pillow

注意:PIL已经被弃用,pillow是其继承者。


8
真的吗?image不是问题中的PIL模块,而是一个“Django应用程序”(它恰好是基于PIL的)。参考链接:https://github.com/francescortiz/image。 - Eric O. Lebigot
6
pip install image 对我起了作用。感谢 DuckDuckGo 缓存保存了编辑前的答案! - Zahra
我在其他地方看到过PILLOW,这里是Pillow。cmd不区分大小写,但写法上有什么首选方式吗? - Josiah Yoder
使用那个奇怪的Django东西安装图像,我至少成功运行了我找到的脚本。不过它没有进行足够的测试来检验这个包。 - Pysis
2
当我在终端键入“pip install Pillow”时,出现以下错误: 要求已经满足:Pillow在c:\users\user\venv\odoo\lib\site-packages (6.2.2)。 - Akira Chen
警告:Python 2.7已于2020年1月1日停止维护。请升级您的Python版本,因为Python 2.7不再受支持。pip 21.0将在2021年1月停止对Python 2.7的支持。有关pip中Python 2支持的更多详细信息,请访问https://pip.pypa.io/en/latest/development/release-process/#python-2-support。 - Akira Chen

184

在某些安装了PIL的情况下,您必须执行以下操作

import Image

不要使用import PIL(实际上,并不总是以这种方式导入PIL)。由于import Image可用,这意味着您已成功安装了PIL。虽然库名和Python模块名称不同可能不太寻常,但这就是(某些版本的)PIL所选择的方式。

您可以从官方教程中获取有关如何使用此模块的更多信息。

PS:实际上,在某些安装中,import PIL 可以使用,这增加了混淆的可能性。正如@JanneKarila发现的那样,文档中的示例以及一些较新版本的MacPorts PIL软件包(1.1.7)都经过确认。


218
从Zhiming的答案中,pip install image对我有用。 - Joseph Yaduvanshi
10
没错,@JimSchubert说的没错。我也成功地通过从@zhimmingwang那里安装pip install image来解决了问题。 - Rafael Ruiz Muñoz
8
但是 image 不是 PIL(与问题中提到的),它是另一个模块。参考资料:https://github.com/francescortiz/image。我有什么遗漏了吗? - Eric O. Lebigot
2
我遇到了相同的错误:“ImportError: No module named PIL”。我用“pip install Pillow”安装了Pillow并尝试运行脚本。仍然出现相同的错误。然后,我尝试导入图像时,它显示找不到“No module named image”。我使用“pip install image”安装了image并再次尝试。没有成功。有什么建议吗? - user3252885
3
请检查您所使用的Python解释器的pip安装情况。使用pip -V命令可以告诉您安装位置。在Unix系统下,可以使用which python命令告诉您python命令的位置。这两者应该很好地匹配。或者更好的方法是,使用python -c 'import sys; print sys.path'命令可以告诉您python命令查找模块的位置(对于Python 3,请使用print(sys.path))。 - Eric O. Lebigot
显示剩余7条评论

72

另外提一下,我强烈推荐使用Pillow,它与 PIL 兼容且维护更好,能够在更新的系统上运行。

安装完毕后,你可以进行以下操作:

import PIL 
或者
from PIL import Image

etc..


没有其他答案解决了我的问题,但这一个做到了。 - MaxJ
第二个已经不能用了。 https://pillow.readthedocs.io/en/stable/installation.html - undefined

70

13
我已经满足了需求,但问题仍然存在。 - Saurabh Chandra Patel

27
有时候我在Python的单元测试中会遇到这种错误。解决方法是在你的虚拟环境中卸载并重新安装相同的软件包。
使用以下命令:
pip uninstall PIL

并且

pip install  PIL 

如果出现任何错误,请在命令开头添加sudo,然后按回车键后输入您的密码。

2
这对我也适用。请考虑到有些人可能会使用间接使用PIL的其他Python脚本,更改导入语句并不总是可行的选项。 - PropellerHead
1
这对我没用,它找不到一个叫做PIL(或pil)的仓库。然而我运行了“pip install Pillow”,它起作用了。我的理解是Pillow是PIL的一个分支。 - Seb Charrot
@TeeBasins Pillow是由Alex Clark和贡献者开发的“友好的PIL分支”。 - user4396006
2
我收到了“无法满足要求的版本PIL(来自版本:) 找不到匹配的分发”。 - J.Doe
这对我有用,但在我更新pip安装程序之后... 要进行更新,请运行:python.exe -m pip install --upgrade pip ---> pip uninstall Pillow ---> pip install Pillow - undefined

26

以下方法适用于我的Ubuntu 16.04:

sudo apt-get install python-imaging

在搜索了大约半个小时后,我在Wikibooks上找到了这个。


3
这个问题在Ubuntu 16.04之前就被提出过,但我在使用Ubuntu 16.04时遇到了这个问题,并根据你的建议解决了它。 - foool
很高兴我能帮到你!:D - grooveplex
这是我在一个带有OLED屏幕的RPI上显示Python输出时遇到的问题。 - Ryan Ellis
这解决了我在Pillow上的问题,但我的实际问题是当我在命令行中键入python时使用的是Python 2而不是Python3(您可以使用python -V检查此问题)。 - fourk

17
你需要在Python包中安装Image和Pillow。 键入
python -m pip install image 

或者在Windows中运行命令提示符,然后导航到脚本文件夹

cd C:\Python27\Scripts

然后执行下面的命令

pip install image

对于Python3,请使用以下命令:python3 -m pip install Pillow - Judder
卸载Pillow然后安装image对我有用。 - Jose Solorzano

16

在Windows 10上,我通过以下方式成功到达:

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

在此之后,使用Python(例如,我的版本是Python 3.7)可以正常运行此程序...


import PIL
from PIL import image

将Windows 7升级到Windows 10后,我的Python程序无法运行,但是这种方法解决了问题。谢谢! - NubyShark

15

我使用了:

pip install Pillow 

我在Lib\site-packages中使用pip安装了PIL。当我将PIL移动到Lib目录下时,一切都正常工作。我使用的是Windows 10。


12

安装特定版本:

pip install Pillow

升级 Pillow

sudo pip3 install --upgrade Pillow

在Windows 10中遇到依赖错误 使用代码:easy_install而不是pip install

easy_install Pillow 

使用易安装进行升级

sudo easy_install --upgrade  Pillow

在OSX系统上安装模块: 使用代码:brew install 而不是pip install

brew install Pillow 

不使用Pip :

 sudo apt-get install -y Pillow 

在CentOS7或Linux Fedora上:

yum -y install Pillow 

或者在 Fedora 上尝试

sudo dnf install Pillow 

如果Homebrew在macOS上搞砸了你的路径,请使用以下命令:

python -m pip install Pillow 

针对Python3 MacOs Homebrew安装问题

python3 -m pip install Pillow

从列表中验证MacOS模块

pip freeze | grep  Pillow

使用Anaconda作为您的Python包管理器进行执行

 conda install -c anaconda Pillow 

升级Pillow解决了我在Windows11上的问题。 - Fathy

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