web-dev-qa-db-ja.com

Python PILには 'Image'属性がありません

私は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'>
26
Squall

PILの__init__.pyは、一般的な空のスタブです。それ自体は魔法のように何もインポートしません。

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

実際、通常、モジュールのインポートはサブモジュールのインポートを行いません。 os.pathは有名な例外です。osモジュールは魔法だからです。

より詳しい情報:
画像モジュール

33
Antimony

できるよ:

try:
    import Image
except ImportError:
    from PIL import Image

pILの代わりに枕を使用することをお勧めします。

3
Reza-S4