我正在使用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'>
答案 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 Image
或import PIL
尝试
`PIL.Image`