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

easy_install PIL

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

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

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


当前回答

您可能错过了构建pil的python头文件。如果你用的是ubuntu之类的,它会是这样的

apt-get install python-dev

其他回答

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

现在Image和ImageTk都可以导入了。

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

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

在将pil文件夹重命名为pil之后,我就可以加载pil模块了。

用pil代替pil

from pil import Image

解决这个问题最干净的方法是遵循以下步骤。

步骤1:卸载PIL包

pip uninstall PIL

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

在Windows上

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

步骤3: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

在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