安装了枕头,但却得到'ImportError:没有名为PIL的模块'

时间:2017-04-09 07:41:28

标签: python opencv python-imaging-library pillow

Pillow对我来说工作正常,然后我收到了这个错误:

File "/usr/local/lib/python2.7/site-packages/PIL/Image.py", line 2452, in open  
    % (filename if filename else fp))  
IOError: cannot identify image file 'dataSet/.DS_Store'

从答案上我得到了我可能已经安装了PIL和枕头,所以我卸载了PIL并使用easy_install安装了枕头,从那以后我一直收到这个错误。

ImportError: No module named PIL

我尝试了一切。

pip install image  
pip install pillow  
pip upgrade pip  
import PIL from Image  

pip --version给出:pip 9.0.1 from /usr/local/lib/python2.7/site-packages (python 2.7)
pip freeze | grep Pillow提供:Pillow==4.1.0

我正在运行的代码是:

import os
import cv2
import numpy as np 
from PIL import Image

在第4行我不断收到错误

Traceback (most recent call last):  
  File "finder.py", line 4, in <module>  
    from PIL import Image  
ImportError: No module named PIL

我还能做些什么来解决这个问题?我是否在SO上阅读了与此主题相关的所有帖子?差不多。并且有很多与之相关的帖子,但请帮助我。

2 个答案:

答案 0 :(得分:1)

好像你已经为python3安装了枕头。* pip install pillow 安装python2.7的正确版本 从这里 https://pypi.python.org/pypi/Pillow/4.0.0

python2.7版本中有cp27名称,根据您的系统架构下载右轮文件。 pip install some-package.whl 我希望它有所帮助。

答案 1 :(得分:1)

关于第一个错误,这是预期的错误:

File "/usr/local/lib/python2.7/site-packages/PIL/Image.py", line 2452, in open
% (filename if filename else fp))
IOError: cannot identify image file 'dataSet/.DS_Store'

你正试图用Pillow打开一个非图像,它正在回应说它无法打开它。这是正确的行为。

我猜你试图打开一个目录中的所有图像,但它在.DS_Store上失败,这是一个由macOS在查看目录内容时创建的元数据文件。在使用Finder查看目录之前,该文件不存在,因此代码有效。您需要做的是忽略此文件(就像在Windows上使用Thumbs.db一样),更加小心使用globbing(例如,确保只有.jpg或.png等)或使用{{1来处理IOError } / try:阻止。