ImportError:没有名为 PIL 的模块

Posted

技术标签:

【中文标题】ImportError:没有名为 PIL 的模块【英文标题】:ImportError: No module named PIL 【发布时间】:2012-02-10 10:39:45 【问题描述】:

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

easy_install PIL

然后我运行python 并输入:import PIL。但我得到这个错误:

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

我从来没有遇到过这样的问题,你觉得呢?

【问题讨论】:

@RikPoggi This page of documentation 实际上告诉使用from PIL import Image,这不起作用。 @Janne 只需使用 Import Image,PIL 就开始工作了。 此时我建议改为easy_install Pillow。 Pillow 是 PIL 的一个分支,具有更好的封装并支持 Python 3。 您可以将接受的答案更改为推荐 Pillow 的答案吗?正如@LennartRegebro 所说,这个套餐更适合长期使用。 请改用pip install Pillow。然后你可以做import PIL.Image 【参考方案1】:

解决此问题的最简单方法是按照以下步骤操作。

第 1 步:卸载 PIL 包。

pip uninstall PIL

第 2 步: 在 windows 操作系统上使用 pip 安装 Pillow,如下所示。对于其他环境,请查看文章No module named PIL

在 Windows 上

python3 -m pip install --upgrade pip
python3 -m pip install --upgrade Pillow

第三步:Python Imaging Library中最关键的类是Image类,如下图所示导入即可。

from PIL import Image
im = Image.open("myimage.jpg")

如果成功,此函数返回一个 Image 对象。您现在可以使用实例属性来检查文件内容:

print(im.format, im.size, im.mode)

#Output: PPM (512, 512) RGB

【讨论】:

【参考方案2】:

根据官网Install Pillow,你不妨试试这个:

进入终端并运行:

python3 -m pip install --upgrade pip

然后继续运行

source ~/.bash_profile

【讨论】:

【参考方案3】:

我找到了一个更简单的解决方案。使用虚拟环境。

pip install Pillow
from PIL import Image

这适用于我在 macOS 上

【讨论】:

【参考方案4】:

安装特定版本:

pip install Pillow

升级枕头

sudo pip3 install --upgrade Pillow

在 Window 10 中出现依赖错误 使用代码:easy_install 而不是 pip install

easy_install Pillow 

使用简易安装升级

sudo easy_install --upgrade  Pillow

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

brew install Pillow 

不使用点子:

 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

从列表 MacO 中验证模块

pip freeze | grep  Pillow

在 Anaconda 上作为你的 python 包管理器执行

 conda install -c anaconda Pillow 

【讨论】:

【参考方案5】:

在某些 PIL 安装中,您必须这样做

import Image

而不是import PIL(实际上PIL 并不总是以这种方式导入)。由于import Image 为您工作,这意味着您实际上已经安装了 PIL。

为库和 Python 模块使用不同的名称是不寻常的,但这是为(某些版本的)PIL 选择的名称。

您可以从official tutorial获取有关如何使用此模块的更多信息。

PS:事实上,在一些安装中,import PIL确实工作,这增加了混乱。正如@JanneKarila 发现的那样,example from the documentation 以及 MacPorts PIL 包 (1.1.7) 的一些更新版本也证实了这一点。

【讨论】:

pip install image 来自志明的回答对我有用。 是的,@JimSchubert 说过。 pip install image 来自 @zhimmingwang 也为我工作 imagenot PIL(如问题所示),它是一个不同的模块。参考:github.com/francescortiz/image。我错过了什么吗? 我得到了同样的错误“ImportError: No module named PIL”。使用“pip install Pillow”安装 Pillow 并尝试运行脚本。仍然得到同样的错误。然后,我尝试导入图像,它显示“未找到名为图像的模块”。我使用“pip install image”安装了图像并再次尝试。没有运气。有什么建议吗? 您应该检查您的pip 是否安装了您正在使用的python 解释器。 pip -V 告诉您它的安装位置。在 Unix 下,which python 告诉你你的python 命令在哪里。两者应该足够匹配。或者,更好的是:python -c 'import sys; print sys.path' 会告诉你你的python 命令在哪里寻找模块(print(sys.path),对于 Python 3)。【参考方案6】:

我遇到了同样的问题,并尝试了上面列出的许多解决方案。

然后我记得我安装了多个版本的 Python,并且我使用了 PyCharm IDE(这是我收到此错误消息的地方),所以我的解决方案是

在 PyCharm 中:

转到文件>设置>项目>Python解释器

点击“+”(安装)

从列表中找到 Pillow 并安装它

希望这对可能处于类似情况的任何人有所帮助!

【讨论】:

【参考方案7】:
pip(3) uninstall Pillow
pip(3) uninstall PIL
pip(3) install Pillow

【讨论】:

【参考方案8】:

Windows 10 上的 Python 3.8。答案的组合对我有用。请参阅下面的独立工作示例。注释掉的行应该在命令行中执行。

import requests
import matplotlib.pyplot as plt
# pip uninstall pillow
# pip uninstall PIL
# pip install image
from PIL import Image
url = "https://images.homedepot-static.com/productImages/007164ea-d47e-4f66-8d8c-fd9f621984a2/svn/architectural-mailboxes-house-letters-numbers-3585b-5-64_1000.jpg"
response = requests.get(url, stream=True)
img = Image.open(response.raw)
plt.imshow(img)
plt.show()

【讨论】:

【参考方案9】:

使用 pil 而不是 PIL

from pil import Image

【讨论】:

【参考方案10】:

我用过:

from pil import Image

而不是

from PIL import Image

它对我很有效

祝你好运

【讨论】:

【参考方案11】:

在 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 程序没有工作,但这个方法解决了它。谢谢!【参考方案12】:

我用过:

pip install Pillow 

并且 pip 在 Lib\site-packages 中安装了 PIL。当我将 PIL 移至 Lib 时,一切正常。我在 Windows 10 上。

【讨论】:

【参考方案13】:

我遇到了同样的问题,我通过检查 pip (pip3 --version) 是什么版本来解决它,然后意识到我输入的是 python&lt;uncorrect version&gt; filename.py 而不是 python&lt;correct version&gt; filename.py

【讨论】:

【参考方案14】:

我使用 conda-forge 安装了第 5 版枕头,这似乎对我有用:

conda install --channel conda-forge pillow=5

普通的 conda 安装枕头对我不起作用。

【讨论】:

【参考方案15】:

在 shell 中,运行:

pip install Pillow

注意:PIL 已弃用,pillow 是继任者。

【讨论】:

真的吗? image 不是问题的 PIL 模块,而是“Django 应用程序”(恰好是 基于 PIL)。参考:github.com/francescortiz/image. pip install image 为我工作。感谢duckduckgo缓存保留预编辑答案! 我在其他地方见过 PILLOW,Pillow 这里。 cmd 不区分大小写,但首选的写法是什么? 用那个奇怪的 django 东西安装图像让我发现这个脚本至少可以运行。不过,它还不足以测试这个包。 当我在终端中键入“pip install Pillow”时,出现此错误:要求已经满足:Pillow in c:\users\user\venv\odoo\lib\site-packages (6.2.2 )【参考方案16】:

代替 PIL 使用 Pillow 它可以工作

easy_install Pillow

pip install Pillow

【讨论】:

【参考方案17】:

如果你使用 anaconda:

conda install pillow

【讨论】:

我这样做了,还是无法导入PIL @johnktejik 你用的是哪个版本的 Python 和 Anaconda?【参考方案18】:

你必须用你的python包安装Image和pillow。

输入

python -m pip install image 

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

cd C:\Python27\Scripts

然后运行下面的命令

pip install image

【讨论】:

对于python3使用python3 -m pip install Pillow 卸载 Pillow 然后安装图像对我有用。【参考方案19】:

您需要使用您的 python 包安装 Image 和枕头。 请放心,命令行将为您处理一切。

命中

python -m pip 安装镜像

【讨论】:

【参考方案20】:

这在 Ubuntu 16.04 上对我有用:

sudo apt-get install python-imaging

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

【讨论】:

这个问题是在 Ubuntu 16.04 之前被问到的,但是我在 Ubuntu 16.04 中遇到了这个问题,并用你的建议解决了这个问题。 很高兴能帮上忙! :D 这是我在 RPI 上遇到的问题,OLED 屏幕显示 python 输出 这解决了我的 Pillow 问题,但我的实际问题是当我在命令行中输入 python 而不是 python3 时使用了 python 2(您可以使用 python -V 进行检查)跨度> 【参考方案21】:

在 Windows 上,您需要下载并安装 .exe

https://pypi.python.org/pypi/Pillow/2.7.0

【讨论】:

【参考方案22】:

另一方面,我强烈推荐使用Pillow,它向后兼容 PIL,维护得更好/将在较新的系统上运行。

安装后就可以了

import PIL 

from PIL import Image

等等。

【讨论】:

其他答案都没有解决我遇到的问题,但是这个解决了。【参考方案23】:

首先用

安装 Pillow
pip install Pillow

或如下

c:\Python35>python -m pip install Pillow

然后在python代码中你可以调用

from PIL import Image

“Pillow 是 Python Imaging Library PIL 的一个分支,不再维护。但是,为了保持向后兼容性,使用了旧的模块名称。”来自pillow installed, but "no module named pillow" - python2.7 - Windows 7 - python -m install pillow

【讨论】:

我的要求已经得到满足,但仍然是同样的问题【参考方案24】:

我最近安装了 Leap。我试过openshot,它没有启动。于是来到这里,找到了一个建议从Terminal下手,看看有没有报错。

我遇到的错误是error missing mlt。所以我从 Yast 安装了 python-mlt 模块并导入它,试图启动但下一个 openshot 说 missing pil.

我按照 Pillow 的建议安装,因为 Yast 找不到任何 pil 和导入的 pil。一切正常,但没有启动并显示Error missing goocanvas

我用 Yast 安装了goocanvas,将它导入 python,然后 Openshot 启动了!!

终端中有很多错误,例如missing Vimeoclient 和很多attributeerrors。好吧,看看它是否有任何影响。

【讨论】:

【参考方案25】:

我在导入 PIL 并进一步导入 ImageTk 和 Image 模块时遇到了同样的问题。我也尝试通过 pip 直接安装 PIL。但不能取得成功。在两者之间,有人建议 PIL 已被弃用,因此,尝试仅通过 pip 安装枕头。枕头已成功安装,进一步,PIL包在路径下制作:python27/Lib/site-packages/。

现在可以导入 Image 和 ImageTk。

【讨论】:

【参考方案26】:

有时我在 python 中运行 Unitest 时会遇到这种类型的错误。解决方案是在您的虚拟环境中卸载并安装相同的包。

使用这个命令:

pip uninstall PIL

pip install  PIL 

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

【讨论】:

这也适用于我。考虑到可能使用其他间接使用 PIL 的 Python 脚本,更改 Import 语句并不总是一种选择。 这对我不起作用,它找不到名为 PIL(或 pil)的存储库。但是我运行了“pip install Pillow”,它确实有效。我的理解是 Pillow 是 PIL 的一个分支。 @TeeBasins Pillow 是 Alex Clark 和贡献者的“友好 PIL 分支”。 我得到“找不到满足 PIL 要求的版本(来自版本:)找不到 PIL 的匹配发行版”【参考方案27】:

在 Windows 上,尝试检查 PIL 库所在位置的路径。在我的系统上,我注意到路径是

\Python26\Lib\site-packages\pil instead of \Python26\Lib\site-packages\PIL  

pil 文件夹重命名为PIL 后,我能够加载PIL 模块。

【讨论】:

我也遇到了同样的导入错误。我已经使用 easy_install 安装了 PIL。在站点包中,它安装在名称为“PIL-1.1.7-py2.7-win32.egg”的目录中。根据您的建议,我已将目录名称更改为 PIL 并且它有效。感谢您的帮助@Komla。【参考方案28】:

您可能缺少构建 pil 的 python 头文件。如果您使用的是 ubuntu 或类似的东西,它会像

apt-get install python-dev

【讨论】:

您使用的是什么架构,如果 64 位,您将面临一个痛苦的世界。使用32位版本,使用来自here的非官方预编译版本 它是32位的,我已经安装了好几次了,但这次我遇到了这个问题

以上是关于ImportError:没有名为 PIL 的模块的主要内容,如果未能解决你的问题,请参考以下文章

ImportError:没有名为“urllib2”Python 3的模块[重复]

ImportError:没有名为 lop.models 的模块

ImportError:DLL 加载失败:找不到指定的模块。尝试“从 PIL 导入图像”时

为啥 ImportError:没有名为 lightgbm 的模块

ImportError:没有名为瓶子的模块

Django 运行报错 ImportError: No module named 'PIL'