非推奨および削除¶
このページでは、過去のメジャーリリースで非推奨になった、または削除されたPillowの機能を一覧表示し、代わりに使用する代替手段を示します。
非推奨機能¶
以下は、非推奨と見なされている機能です。適切な場合は、DeprecationWarning が発行されます。
ImageFile.raise_oserror¶
バージョン10.2.0から非推奨。
ImageFile.raise_oserror() は非推奨となり、Pillow 12.0.0 (2025-10-15) で削除されます。この関数はドキュメント化されておらず、コーデックの decode() メソッドによって返されるエラーコードを変換する場合にのみ役立ちますが、ImageFile は既に自動的にこれを実行しています。
IptcImageFile ヘルパー関数¶
バージョン10.2.0から非推奨。
関数 IptcImageFile.dump と IptcImageFile.i、および定数 IptcImageFile.PAD は非推奨となり、Pillow 12.0.0 (2025-10-15) で削除されます。これらは内部使用を目的としたドキュメント化されていないヘルパー関数であるため、代替手段はありません。それぞれPythonの組み込み関数を使用して1行のコードで置き換えることができます。
ImageCms 定数と versions() 関数¶
バージョン10.3.0から非推奨。
ImageCms のいくつかの定数と関数が非推奨となりました。これには、LittleCMSバージョン1に基づいたフラグのテーブルが含まれており、LittleCMS 2フラグに基づいた新しいクラス ImageCms.Flags に置き換えられました。
非推奨 |
代わりに使用する |
|---|---|
|
代替なし |
|
|
|
|
|
|
|
代替なし |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ImageMath eval()¶
バージョン10.3.0から非推奨。
ImageMath.eval() は非推奨となりました。lambda_eval() または unsafe_eval() を代わりに使用してください。
BGR;15、BGR;16、およびBGR;24¶
バージョン10.4.0から非推奨。
実験的なBGR;15、BGR;16、およびBGR;24モードは非推奨となりました。
ImageCmsでの非画像モード¶
バージョン10.4.0から非推奨。
ImageCms での、Pillowの画像モードではない入力モードと出力モードの使用は非推奨となりました。モードをマッピングできない場合に「L」または「1」にデフォルト設定することも非推奨となりました。
LibTIFF 4より前のバージョンへのサポート¶
バージョン10.4.0から非推奨。
バージョン4より前のLibTIFFへのサポートは非推奨となりました。新しいバージョンのLibTIFFにアップグレードしてください。
ImageDraw.getdraw hintsパラメータ¶
バージョン10.4.0から非推奨。
getdraw() の hints パラメータは非推奨となりました。
FreeType 2.9.0¶
バージョン11.0.0から非推奨。
FreeType 2.9.0 のサポートは非推奨であり、FreeType 2.9.1 が最小サポートバージョンとなる Pillow 12.0.0 (2025-10-15) で削除されます。
FreeType 2.10.4 以上へのアップグレードをお勧めします。このバージョンでは、FreeType 2.6で導入された深刻な脆弱性 (CVE 2020-15999) が修正されています。
ICNS (幅、高さ、スケール) サイズ¶
バージョン11.0.0から非推奨。
ロード前にICNS画像サイズを (width, height, scale) に設定することは非推奨となりました。代わりに、 load(scale) を使用できます。
Image.isImageType()¶
バージョン11.0.0から非推奨。
Image.isImageType(im) は非推奨となりました。isinstance(im, Image.Image) を代わりに使用してください。
ImageMath.lambda_eval と ImageMath.unsafe_eval の options パラメータ¶
バージョン11.0.0から非推奨。
lambda_eval() および unsafe_eval() の options パラメータは非推奨となりました。代わりに、1つ以上のキーワード引数を使用できます。
JpegImageFile.huffman_ac および JpegImageFile.huffman_dc¶
バージョン11.0.0から非推奨。
JPEG画像のhuffman_ac および huffman_dc ディクショナリは使用されていませんでした。これらは非推奨となり、Pillow 12 (2025-10-15) で削除されます。
特定の WebP 機能チェック¶
バージョン11.0.0から非推奨。
features.check("transp_webp")、features.check("webp_mux")、および features.check("webp_anim") は非推奨となりました。Pillow 12.0.0 (2025-10-15) で削除されるまで、WebP モジュールがインストールされている場合は常に True を返します。
オブジェクトへの内部ポインタの取得¶
バージョン11.0.0から非推奨。
Image.core.ImagingCore.id および Image.core.ImagingCore.unsafe_ptrs は非推奨となり、Pillow 12 (2025-10-15) で削除されます。これらは ImagingCore 内部への raw ポインタを取得するために使用されていました。Cコードとやり取りするには、Image.Image.getim() を使用できます。これは Capsule オブジェクトを返します。
削除された機能¶
非推奨機能は、適切な期間の非推奨期間が経過したメジャーリリースでのみ削除されます。
TiffImagePlugin IFD_LEGACY_API¶
バージョン 11.0.0 で削除されました。
TiffImagePlugin.IFD_LEGACY_API は使用されていない設定だったため削除されました。
PSFile¶
バージョン 9.5.0 から非推奨。
バージョン 11.0.0 で削除されました。
PSFile クラスは Pillow 11 (2024-10-15) で削除されました。このクラスは内部で使用されるヘルパーとしてのみ作成されたため、代替はありません。ただし、この機能が必要な場合は、非常に短いクラスなので、独自のコードで簡単に再作成できます。
PyAccess および Image.USE_CFFI_ACCESS¶
バージョン 10.0.0 から非推奨。
バージョン 11.0.0 で削除されました。
Pillow の C API は現在 PyPy 上で PyAccess より高速であるため、PyAccess は削除されました。代わりに、Pillow の C API が PyPy で使用されるようになりました。
Image.USE_CFFI_ACCESS (C API から PyAccess に切り替えるためのもの) も同様に削除されました。
Tk/Tcl 8.4¶
バージョン 8.2.0 から非推奨。
バージョン 10.0.0 で削除されました。
Tk/Tcl 8.4 のサポートは Pillow 10.0.0 (2023-07-01) で削除されました。
カテゴリ¶
バージョン 8.2.0 から非推奨。
バージョン 10.0.0 で削除されました。
im.category は、関連する Image.NORMAL、Image.SEQUENCE、および Image.CONTAINER 属性と共に削除されました。
画像に複数のフレームがあるかどうかを判別するには、代わりに getattr(im, "is_animated", False) を使用できます。
JpegImagePlugin.convert_dict_qtables¶
バージョン 8.3.0 から非推奨。
バージョン 10.0.0 で削除されました。
Pillow 8.3.0 での非推奨化以降、convert_dict_qtables メソッドは渡されたデータに対して何らかの操作を実行しなくなり、削除されました。
ImagePalette size パラメータ¶
バージョン 8.4.0 から非推奨。
バージョン 10.0.0 で削除されました。
Pillow 8.3.0 より前では、ImagePalette はデフォルトで特定の長さのペレットデータが必要であり、size パラメータを使用してそれをオーバーライドできました。Pillow 8.3.0 はデフォルトで必要な長さを削除し、size パラメータの必要性も削除しました。
ImageShow.Viewer.show_file file 引数¶
バージョン 9.1.0 から非推奨。
バージョン 10.0.0 で削除されました。
show_file() の file 引数は削除され、path に置き換えられました。
実際には、viewer.show_file("test.jpg") は変更せずに動作し続けます。
定数¶
バージョン 9.1.0 から非推奨。
バージョン 10.0.0 で削除されました。
多くの定数が削除されました。代わりに、enum.IntEnum クラスが追加されました。
注記
追加の Image 定数は Pillow 9.1.0 で非推奨となりましたが、Pillow 9.4.0 で元に戻され、これらの定数は引き続き使用できます。定数 を参照してください。
削除済み |
代わりに使用する |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FitsStubImagePlugin¶
バージョン 9.1.0 から非推奨。
バージョン 10.0.0 で削除されました。
スタブイメージプラグイン FitsStubImagePlugin は削除されました。FITS 画像は、代わりに FitsImagePlugin を介してハンドラーなしで読み取ることができます。
フォントサイズとオフセットメソッド¶
バージョン 9.2.0 から非推奨。
バージョン 10.0.0 で削除されました。
レンダリングされたテキストのサイズとオフセットを計算するためのいくつかの関数が削除されました。
削除済み |
代わりに使用する |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
以前のコード
from PIL import Image, ImageDraw, ImageFont
font = ImageFont.truetype("Tests/fonts/FreeMono.ttf")
width, height = font.getsize("Hello world")
left, top = font.getoffset("Hello world")
im = Image.new("RGB", (100, 100))
draw = ImageDraw.Draw(im)
width, height = draw.textsize("Hello world", font)
width, height = font.getsize_multiline("Hello\nworld")
width, height = draw.multiline_textsize("Hello\nworld", font)
代わりに使用する
from PIL import Image, ImageDraw, ImageFont
font = ImageFont.truetype("Tests/fonts/FreeMono.ttf")
left, top, right, bottom = font.getbbox("Hello world")
width, height = right - left, bottom - top
im = Image.new("RGB", (100, 100))
draw = ImageDraw.Draw(im)
width = draw.textlength("Hello world", font)
left, top, right, bottom = draw.multiline_textbbox((0, 0), "Hello\nworld", font)
width, height = right - left, bottom - top
以前は、size メソッドはテキストの垂直方向のオフセットを含む height を返していましたが、新しい bbox メソッドはこれを top オフセットとして区別します。
これらのメソッドをテキストの配置に使用している場合は、代わりに テキストアンカー を使用することを検討してください。これにより、英語以外のテキストや特殊なフォントで発生する可能性のある問題を回避できます。たとえば、次のコードの代わりに
from PIL import Image, ImageDraw, ImageFont
font = ImageFont.truetype("Tests/fonts/FreeMono.ttf")
im = Image.new("RGB", (100, 100))
draw = ImageDraw.Draw(im)
width, height = draw.textsize("Hello world", font)
x, y = (100 - width) / 2, (100 - height) / 2
draw.text((x, y), "Hello world", font=font)
代わりに使用する
from PIL import Image, ImageDraw, ImageFont
font = ImageFont.truetype("Tests/fonts/FreeMono.ttf")
im = Image.new("RGB", (100, 100))
draw = ImageDraw.Draw(im)
draw.text((100 / 2, 100 / 2), "Hello world", font=font, anchor="mm")
FreeTypeFont.getmask2 fill パラメータ¶
バージョン 9.2.0 から非推奨。
バージョン 10.0.0 で削除されました。
FreeTypeFont.getmask2() の文書化されていない fill パラメータは削除されました。
PhotoImage.paste box パラメータ¶
バージョン 9.2.0 から非推奨。
バージョン 10.0.0 で削除されました。
box パラメータは使用されていなかったため、削除されました。
PyQt5 および PySide2¶
バージョン 9.2.0 から非推奨。
バージョン 10.0.0 で削除されました。
Qt 5 は、オープンソースユーザー向けに 2020 年 12 月 8 日に、(商用ライセンス保有者向けには 2023 年 12 月 8 日に)EOL に達しました。
ImageQtからのPyQt5およびPySide2のサポートは削除されました。代わりにPyQt6またはPySide6にアップグレードしてください。
Image.coerce_e¶
バージョン 9.2.0 から非推奨。
バージョン 10.0.0 で削除されました。
この未ドキュメント化のメソッドは削除されました。
PILLOW_VERSION定数¶
バージョン5.2.0から非推奨。
バージョン9.0.0で削除されました。
代わりに__version__を使用してください。
Pillow 7.0.0で最初に削除されましたが、プロジェクトのアップグレード時間を確保するために7.1.0で一時的に復活しました。
Image.showコマンドパラメータ¶
バージョン7.2.0から非推奨。
バージョン9.0.0で削除されました。
commandパラメータは削除されました。ImageShow.Viewerのサブクラスを代わりに使用してください。
Image._showxv¶
バージョン7.2.0から非推奨。
バージョン9.0.0で削除されました。
代わりにImage.Image.show()を使用してください。カスタム動作が必要な場合は、ImageShow.register()を使用してカスタムImageShow.Viewerクラスを追加してください。
ImageFile.raise_ioerror¶
バージョン7.2.0から非推奨。
バージョン9.0.0で削除されました。
Python 3.3ではIOErrorがOSErrorに統合されました。そのため、ImageFile.raise_ioerrorは削除されました。代わりにImageFile.raise_oserrorを使用してください。
FreeType 2.7¶
バージョン8.1.0から非推奨。
バージョン9.0.0で削除されました。
FreeType 2.7のサポートは削除されました。
FreeType 2.6で導入された重大な脆弱性(CVE 2020-15999)を修正した、少なくともFreeType 2.10.4へのアップグレードをお勧めします。
im.offset¶
バージョン1.1.2から非推奨。
バージョン8.0.0で削除されました。
im.offset()は削除されました。ImageChops.offset()を代わりに呼び出してください。
PIL 1.1.2で非推奨として文書化され、1.1.5以降はDeprecationWarning、Pillow 3.0.0以降はException、3.3.0以降はNotImplementedErrorを発生させました。
Image.fromstring、im.fromstring、およびim.tostring¶
バージョン2.0.0から非推奨。
バージョン8.0.0で削除されました。
Image.fromstring()は削除されました。Image.frombytes()を代わりに呼び出してください。im.fromstring()は削除されました。frombytes()を代わりに呼び出してください。im.tostring()は削除されました。tobytes()を代わりに呼び出してください。
2.0.0以降はDeprecationWarning、3.0.0以降はException、3.3.0以降はNotImplementedErrorを発生させました。
ImageCms.CmsProfile属性¶
バージョン3.2.0から非推奨。
バージョン8.0.0で削除されました。
PIL.ImageCms.core.CmsProfileの一部の属性は削除されました。6.0.0からDeprecationWarningを発生させました。
削除済み |
代わりに使用する |
|---|---|
|
パディングされた |
|
パディングされた |
|
Unicode |
|
Unicode |
|
Unicode |
|
Unicode |
|
Unicode |
Python 2.7¶
バージョン6.0.0から非推奨。
バージョン7.0.0で削除されました。
Python 2.7は2020年1月1日にサポート終了となりました。Pillow 6.xはPython 2をサポートした最後のシリーズです。
Image.__del__¶
バージョン6.1.0から非推奨。
バージョン7.0.0で削除されました。
Image.__del__における画像の基礎となるファイルの暗黙的なクローズは削除されました。コンテキストマネージャーを使用するか、Image.close()を呼び出して、決定的な方法でファイルをクローズしてください。
以前の方法
im = Image.open("hopper.png")
im.save("out.jpg")
代わりに使用する
with Image.open("hopper.png") as im:
im.save("out.jpg")
PIL.*ImagePlugin.__version__属性¶
バージョン6.0.0から非推奨。
バージョン7.0.0で削除されました。
個々のプラグインのバージョン定数は削除されました。代わりにPIL.__version__を使用してください。
削除済み |
削除済み |
削除済み |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PyQt4とPySide¶
バージョン6.0.0から非推奨。
バージョン7.0.0で削除されました。
Qt 4は2015年12月19日にサポート終了となりました。そのPythonバインディングもEOLとなっています:PyQt4は2018年8月31日、PySideは2015年10月14日。
ImageQtからのPyQt4およびPySideのサポートは削除されました。PyQt5またはPySide2にアップグレードしてください。
TIFF画像のサイズ設定¶
バージョン5.3.0から非推奨。
バージョン7.0.0で削除されました。
TIFF画像のサイズを直接設定する(例:im.size = (256, 256))とエラーが発生します。代わりにImage.resizeを使用してください。
VERSION定数¶
バージョン5.2.0から非推奨。
バージョン6.0.0で削除されました。
VERSION(古いPILバージョン、常に1.1.7)は削除されました。代わりに__version__を使用してください。
未ドキュメント化のImageOps関数¶
バージョン4.3.0から非推奨。
バージョン6.0.0で削除されました。
ImageOpsのいくつかの未ドキュメント化関数は削除されました。代わりにImageFilterの同等のものを使用してください。
削除済み |
代わりに使用する |
|---|---|
|
|
|
|
|
|
|
|
|
|
PIL.OleFileIO¶
バージョン4.0.0から非推奨。
バージョン6.0.0で削除されました。
Pillow 4.0.0(2017年1月)で、アップストリームのolefile Pythonパッケージに置き換えられ、Pillow 5.0.0(2018年1月)でImportErrorに置き換えられました。非推奨のファイルはPillowから削除されました。必要な場合は、PyPIからインストールしてください(例:python3 -m pip install olefile)。
import _imaging¶
バージョン2.1.0で削除されました。
Pillow 2.1.0以降では、import _imagingはサポートされなくなりました。from PIL.Image import core as _imaging を代わりに使用してください。
PillowとPIL¶
バージョン1.0.0で削除されました。
PillowとPILは同じ環境で共存できません。Pillowをインストールする前に、PILをアンインストールしてください。
import Image¶
バージョン1.0.0で削除されました。
Pillow 1.0以降では、import Imageはサポートされなくなりました。from PIL import Imageを代わりに使用してください。