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
也为我工作
但image
是not 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<uncorrect version> filename.py
而不是 python<correct version> 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】:首先用
安装 Pillowpip 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 导入图像”时