ImportError:没有名为PIL的模块

Asm*_*ari 171 python easy-install python-imaging-library

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

easy_install PIL
Run Code Online (Sandbox Code Playgroud)

然后我跑去python输入:import PIL.但我得到这个错误:

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

我从未遇到过这样的问题,您怎么看?

小智 242

在shell中,运行:

pip install Pillow
Run Code Online (Sandbox Code Playgroud)

注意:PIL已被弃用,枕头是继承者.

  • 真?`image`是_not_问题的PIL模块,而不是"Django应用程序"(碰巧在PIL上_based_).参考:https://github.com/francescortiz/image. (6认同)
  • 为什么这有赞成票呢?`image`可能是一个有用的库,但它与问题无关. (6认同)
  • `pip install image` 对我有用。感谢duckduckgo缓存保留预编辑答案! (3认同)
  • 当我在终端中键入“pip install Pillow”时,出现以下错误: Requirement already met: Pillow in c:\users\user\venv\odoo\lib\site-packages (6.2.2) (2认同)

Eri*_*got 115

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

import Image
Run Code Online (Sandbox Code Playgroud)

而不是import PIL(PIL实际上并不总是以这种方式导入).既然import Image适合您,这意味着您实际上已经安装了PIL.

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

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

PS:事实上,在某些安装上,import PIL 确实有效,这增加了混乱.这可以通过文档中的一个例子得到证实,正如@JanneKarila发现的那样,以及一些最近版本的MacPorts PIL包(1.1.7).

  • 志明的答案中的`pip install image`对我有用. (109认同)
  • 是的,@ JimSchubert说道.来自`@ zhimingwang`的`pip install image`也为我工作 (9认同)
  • 但是`image`是_not_ PIL(就像在问题中一样),它是一个不同的模块。参考:https://github.com/francescortiz/image 我在想什么吗? (4认同)
  • 我收到同样的错误“ImportError:没有名为 PIL 的模块”。使用“pip install Pillow”安装 Pillow 并尝试运行脚本。仍然遇到同样的错误。然后,我尝试导入图像,它说“找不到名为图像的模块”。我使用“pip install image”安装了映像并再次尝试。没有运气。有什么建议么? (2认同)
  • 您应该检查是否为要使用的python解释器安装了“ pip”。pip -V会告诉您它的安装位置。在Unix下,“哪个python”会告诉您“ python”命令的位置。两者应该足够匹配。或者更好:`python -c'import sys; print sys.path”将告诉您python命令在哪里查找模块(对于Python 3,为print(sys.path))。 (2认同)

Dam*_*ian 48

另外,我强烈建议使用Pillow,它与PIL向后兼容,并且可以更好地维护/适用于新系统.

安装完成后就可以了

import PIL 
Run Code Online (Sandbox Code Playgroud)

要么

from PIL import Image
Run Code Online (Sandbox Code Playgroud)

等等..


Orh*_*lik 45

首先安装Pillow with

pip install Pillow
Run Code Online (Sandbox Code Playgroud)

或如下

c:\Python35>python -m pip install Pillow
Run Code Online (Sandbox Code Playgroud)

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

from PIL import Image
Run Code Online (Sandbox Code Playgroud)

"Pillow是PIL的一个分支,即Python成像库,它不再被维护.但是,为了保持向后兼容性,使用了旧的模块名称." 从枕头安装,但"没有模块命名枕头" - python2.7 - Windows 7 - python -m安装枕头

  • 我得到的要求已经满足但仍然是同样的问题 (4认同)

Fer*_*noz 19

有时我会在python中运行Unitest时遇到此类错误.解决方案是在虚拟环境中卸载并安装相同的软件包.

使用此命令:

pip uninstall PIL
Run Code Online (Sandbox Code Playgroud)

pip install  PIL 
Run Code Online (Sandbox Code Playgroud)

如果由于任何原因您收到错误,请在命令开头添加sudo,然后在输入后输入您的密码.

  • 这对我也有用.考虑一个人可能使用间接使用PIL的其他Python脚本,更改Import语句并不总是一个选项. (2认同)
  • 我得到“找不到满足 PIL 要求的版本(来自版本:)没有找到 PIL 的匹配发行版” (2认同)

gro*_*lex 19

这在Ubuntu 16.04上对我有用:

sudo apt-get install python-imaging
Run Code Online (Sandbox Code Playgroud)

在搜索了大约半小时后,我在Wikibooks上发现了这个.

  • 这个问题是在Ubuntu 16.04之前提出的,但我在Ubunt 16.04中遇到了这个问题,并根据你的建议修复了它. (2认同)

and*_*ate 13

在 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
Run Code Online (Sandbox Code Playgroud)

之后在python(在我的例子中是python 3.7)这工作正常......

import PIL
from PIL import image
Run Code Online (Sandbox Code Playgroud)


小智 13

安装特定版本:

pip install Pillow
Run Code Online (Sandbox Code Playgroud)

升级枕头

sudo pip3 install --upgrade Pillow
Run Code Online (Sandbox Code Playgroud)

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

easy_install Pillow 
Run Code Online (Sandbox Code Playgroud)

使用简易安装进行升级

sudo easy_install --upgrade  Pillow
Run Code Online (Sandbox Code Playgroud)

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

brew install Pillow 
Run Code Online (Sandbox Code Playgroud)

不使用点:

 sudo apt-get install -y Pillow 
Run Code Online (Sandbox Code Playgroud)

在 CentOS7 或 Linux Fedora 上:

yum -y install Pillow 
Run Code Online (Sandbox Code Playgroud)

或者在 Fedora 上尝试

sudo dnf install Pillow 
Run Code Online (Sandbox Code Playgroud)

如果 Homebrew 搞砸了 macOS 上的路径,请执行以下命令:

python -m pip install Pillow 
Run Code Online (Sandbox Code Playgroud)

对于 Python3 MacOs Homebrew 螺丝

python3 -m pip install Pillow
Run Code Online (Sandbox Code Playgroud)

从 MacO 列表中验证模块

pip freeze | grep  Pillow
Run Code Online (Sandbox Code Playgroud)

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

 conda install -c anaconda Pillow 
Run Code Online (Sandbox Code Playgroud)


azd*_*oud 8

您必须使用python软件包安装Image和pillow。

类型

python -m pip install image 
Run Code Online (Sandbox Code Playgroud)

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

cd C:\Python27\Scripts
Run Code Online (Sandbox Code Playgroud)

然后在命令下面运行

pip install image
Run Code Online (Sandbox Code Playgroud)


Sri*_*hna 8

解决此问题的最简洁方法是执行以下步骤。

步骤1:卸载PIL包。

pip uninstall PIL
Run Code Online (Sandbox Code Playgroud)

步骤 2:在 Windows 操作系统上使用 pip 安装 Pillow,如下所示。对于其他环境,请查看文章“没有名为 PIL 的模块”

在 Windows 上

python3 -m pip install --upgrade pip
python3 -m pip install --upgrade Pillow
Run Code Online (Sandbox Code Playgroud)

步骤3:Python图像库中最关键的类是Image类,您可以如下所示导入它。

from PIL import Image
im = Image.open("myimage.jpg")
Run Code Online (Sandbox Code Playgroud)

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

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

#Output: PPM (512, 512) RGB
Run Code Online (Sandbox Code Playgroud)


Con*_*ett 7

如果您使用水蟒:

conda install pillow
Run Code Online (Sandbox Code Playgroud)


Pea*_*ace 7

我在 Windows 10 上遇到了同样的问题,这对我有用:

pip 安装枕头


小智 6

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

\Python26\Lib\site-packages\pil instead of \Python26\Lib\site-packages\PIL  
Run Code Online (Sandbox Code Playgroud)

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


Sai*_*i N 6

而不是PIL使用Pillow它可以工作

easy_install Pillow
Run Code Online (Sandbox Code Playgroud)

或者

pip install Pillow
Run Code Online (Sandbox Code Playgroud)


小智 5

您将需要使用python软件包安装Image和pillow。放心,命令行将为您处理一切。

击中

python -m pip安装映像


小智 5

我用了:

pip install Pillow 
Run Code Online (Sandbox Code Playgroud)

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


New*_*ewt 5

pip(3) uninstall Pillow
pip(3) uninstall PIL
pip(3) install Pillow
Run Code Online (Sandbox Code Playgroud)


MD.*_*med 5

这对我有用Ubuntu 20.04

pip install image
Run Code Online (Sandbox Code Playgroud)

在脚本中:

import image
Run Code Online (Sandbox Code Playgroud)