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

easy_install PIL

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

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

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


当前回答

pip(3) uninstall Pillow
pip(3) uninstall PIL
pip(3) install Pillow

其他回答

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

pip install Pillow
from PIL import Image

这在macOS上适用

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

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

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

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

使用命令:

pip uninstall PIL

and

pip install  PIL 

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

在一些安装PIL,你必须这样做

import Image

而不是进口PIL (PIL实际上并不总是这样进口)。由于import Image对您有效,这意味着您实际上已经安装了PIL。

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

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

PS:事实上,在某些安装中,导入PIL是可以工作的,这增加了混乱。正如@JanneKarila所发现的,文档中的一个例子证实了这一点,还有一些MacPorts PIL包的最新版本(1.1.7)。

我使用:

from pil import Image

而不是

from PIL import Image

这对我来说很有效

祝你一切顺利