Python PIL没有属性'Image'

时间:2012-08-11 02:46:33

标签: python import python-imaging-library

我正在使用python2.6并且今天早上遇到了问题。它说“模块”没有属性“图像”。这是我的意见。为什么我第一次不能使用PIL.Image?

>>> import PIL
>>> PIL.Image
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'Image'
>>> from PIL import Image
>>> Image
<module 'PIL.Image' from '/usr/lib/python2.6/dist-packages/PIL/Image.pyc'>
>>> PIL.Image
<module 'PIL.Image' from '/usr/lib/python2.6/dist-packages/PIL/Image.pyc'>

3 个答案:

答案 0 :(得分:27)

PIL的__init__.py只是一个常见的空存根。它本身不会神奇地导入任何东西。

执行from PIL import Image时,它会在PIL包中查找并找到文件Image.py并导入该文件。执行PIL.Image时,您实际上是在PIL模块上进行属性查找(除非您明确导入内容,否则它只是一个空存根)。

实际上,导入模块通常不会导入子模块。 os.path是一个着名的例外,因为os模块很神奇。

更多信息:
The Image Module

答案 1 :(得分:2)

你可以这样做:

try:
    import Image
except ImportError:
    from PIL import Image

最好用枕头代替PIL。

答案 2 :(得分:-1)

而不是from PIL import Imageimport PIL
   尝试

`PIL.Image`