2012-08-11 17 views
9

私はpython2.6を使用していますが、今朝問題がありました。モジュールには 'Image'という属性はありません。ここに私の入力です。初めてPIL.Imageを使用できないのはなぜですか?Python 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'> 

答えて

14

PILの__init__.pyは、一般的な空のスタブです。それは魔法のようにそれ自身で何かをインポートすることはありません。

from PIL import Imageを実行すると、PILパッケージを検索し、ファイルImage.pyを見つけてインポートします。 PIL.Imageを実行すると、実際にPILモジュール(明示的に物をインポートしない限り空のスタブ)で属性ルックアップが実行されます。

実際には、モジュールを通常にインポートすると、インポートサブモジュールはありません。 osモジュールは魔法ですので、os.pathは有名な例外です。

詳細情報:代わりにfrom PIL import Imageまたはimport PIL

The Image Module

-1

はあなたが行うことができます

`PIL.Image` 
2

を試してみてください。

try: 
    import Image 
except ImportError: 
    from PIL import Image 

ではなくPILを枕を使用することをお勧めします。

関連する問題