没有名为PIL的模块

37

我知道PIL已经过时了,所以我安装了Pillow代替它,并且出于向后兼容的原因,Pillow仍然使用PIL作为其模块名称。以下是我使用pip freeze命令查看到的Pillow版本:Pillow=3.2.0

这是我在代码中如何使用它:

import  PIL as pillow
from PIL import Image

就像一位在类似的帖子中建议的人所说,我也尝试了。

import  PIL 
from PIL import Image

两个都不起作用。两者都给我这个错误:

ImportError: No module named PIL

另外,我尝试过:

import Image

它给了我:

ImportError: No module named Image

需要真正感激的帮助!


2
@CoryShay Python 2.7.11和pip 1.5.6,由于各种原因,我无法升级它们。 - Fisher Coder
@haifzhan 不,我也试过了。我会编辑我的问题。 - Fisher Coder
@SSun - 真的是pip 1.5.6吗?Python 2.7.11并不算老,但pip已经更新到8.1.2了,所以我认为这完全与pip及其安装软件包的方式有关(这会影响模块的加载)。如果你有权限,请执行pip install --upgrade pip,它将使pip自动更新。 - Signus
@Signus 我刚刚升级了pip,现在版本是8.1.2,但还是出现导入错误。而且我认为升级可能会破坏其他模块,所以我会回退。不过还是谢谢你的建议。 - Fisher Coder
那就可以运行了!! 太棒了! 非常感谢。最后可工作的导入行是: from PIL import Image 非常感谢大家! - Fisher Coder
显示剩余8条评论
8个回答

36

在我的情况下,使用Windows系统,我所需要做的就是运行以下命令:

pip install pillow


1
在我的 Mac 上,在 Python 虚拟环境中也适用。 - botkop
6
对我来说不起作用。当我运行此代码时,我得到了:Requirement already satisfied 的消息。 - Bagusflyer
@botkop 在 Python 环境下也对我有效。 - Josiah Coad
5
我使用了pip uninstall pillow然后再使用pip install pillow来修复我的问题。 - fuomag9

14

根据我的评论,因为它帮助了您并解决了您的问题:

您遇到的问题是由于您有pip版本1.5.6,而pip的版本确实会决定如何解压缩软件包,从而最终确定是否正确加载模块。

所需要的全部内容是:

pip install --upgrade pip

这会允许pip升级自身。

如果您在Mac/Linux上,则需要使用sudo,否则在Windows上可能需要“以管理员身份运行”。

现在,您可以正确导入PIL模块了:

Python 2.7.12 (default, Jun 29 2016, 13:16:51)
[GCC 4.2.1 Compatible Apple LLVM 7.3.0 (clang-703.0.31)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import PIL
>>> from PIL import Image
>>> Image
<module 'PIL.Image' from '/usr/local/lib/python2.7/site-packages/PIL/Image.pyc'>

3
我按照你们在问题中的所有评论操作了,但我仍然遇到了问题。它找不到PIL。 - hiquetj
pip 版本为 9.0.1,Python 版本为 2.7.6;Pillow 版本为 4.0.0。 - hiquetj
它对虚拟环境不起作用。所以我会考虑@Arthur的答案。 - Stepan Dyatkovskiy

6

您可以使用python -m pip install Pillowpip install Pillow来安装Pillow。


2
我最近也遇到了这个问题,让我分享一下我的看法。 我使用的是Mac OS X Mojave 10.14。 我尝试运行pip install pillow很多次,但盲目地进行操作,没有找到更深入的理解,即我的python搜索其包的位置。
当我从OS X High Sierra升级到Mojave时,我遇到了这个错误。 我以前工作正常的Scrapy项目突然停止了运行。
请注意,我没有使用virtualenv
首先,您需要检查系统使用哪个python。 在终端中运行:
which -a python

您会得到类似于以下内容:
这让我在 /usr/local/ 文件夹内进行搜索。原来有一个文件夹,我的 python 正在其中搜索其包,那就是 /usr/local/lib/python2.7(python)或 /usr/local/lib/python3.7(python3)。
我的当前 pip install pillow 做的是将 PIL 包安装在 /usr/local/lib/python2.7/site-packages 目录下,但没有安装到 /usr/local/lib/python3.7/site-packages 中。

PIL in /usr/local/lib/python2.7/site-packages

然而,由于我的项目使用Python 3,No module named PIL错误告诉你,你正在使用的python3实例无法找到PIL库。
我使用Homebrew来管理系统包,如nodepython等。所以我重新安装了Homebrew的python3,命令如下: brew reinstall python,然后运行pip3 install pillow
只需确保PIL包已正确安装在/usr/local/lib/python3.7/site-packages中,你就可以开始工作了。希望这能帮助某些人。

我曾经遇到一个类似的问题,但是情况相反。我安装了Python 3.7和Pillow...但是必须安装Python 2.7才能运行一些旧版本脚本,而且找不到Pillow。在切换Python版本后,我只需再次安装Pillow即可解决问题。 - FailedUnitTest

1

OSX

sudo easy_install pip
pip install Pillow --user

0

enter image description here

对我来说,在尝试在PyCharm中使用PIL时,初始的项目解释器并没有寻找到Python 3.7的正确位置。现在这个问题已经得到解决,使用PIL对我来说是正常工作的(修正后的解释器显示在附图中)。


0

这个解决方案适用于pip版本20和使用PyCharm。 我本来想按照pip建议将其升级到20.0.2版本,但最终还是回退到了19版本。

python -m pip install pip==19.3.1

我也从命令行安装了Pillow

pip install Pillow

最后,在 PyCharm 中的设置(Settings)-> 项目名(Project: your-project-name)-> 项目解释器(Project Interpreter)中,点击 + 按钮并安装 Pillow。

Pillow installed from inside MyCharm


0
对于Windows 11 我通过使用以下方法解决了我的问题
pip uninstall pillow 

然后

pip install pillow

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