移植

既存のPILベースのコードをPillowに移植する

Pillowは、Python Imaging Libraryの機能的なドロップイン置換です。

PILはPython 2専用です。Pillow 7.0でPython 2のサポートが終了しました。そのため、Pillowの最新バージョンを実行するには、まずコードをPython 2から3に移植する必要があります。

既存のPIL互換コードをPillowで実行するには、グローバル名前空間ではなく、PIL名前空間からImageモジュールをインポートするように変更する必要があります。これを

import Image

これに

from PIL import Image

PIL._imagingモジュールはPIL.Image.coreに移動されました。このようにインポートできます

from PIL.Image import core as _imaging

画像プラグインのロードメカニズムが変更されました。Pillowは、ImagePlugin.pyで終わる名前のPythonパスにあるファイルを自動的にインポートしなくなりました。画像プラグインを手動でインポートする必要があります。

Pythonと拡張コード間のバージョン不一致など、何らかの理由でコア拡張機能をロードできない場合、Pillowは例外を発生させます。以前は、コア拡張機能が利用できない場合、PILはPythonのみのコードの実行を許可していました。