非推奨および削除¶
このページでは、過去のメジャーリリースで非推奨になった、または削除された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
を代わりに使用してください。