Pillow 弃用和移除的功能

2021-07-20 18:04 更新

弃用和移除

此页面列出了在过去的主要版本中已弃用或已删除的 Pillow 功能,并提供了替代方案。

不推荐使用的功能

以下是被认为不推荐使用的功能。在适当的情况下,会发出一个​DeprecationWarning​。

FreeType 2.7

自 8.1.0 版起已弃用。

对 FreeType 2.7 的支持已被弃用,并将在 Pillow 9.0.0 (2022-01-02) 中删除,此时 FreeType 2.8 将是支持的最低要求。

我们建议至少升级到 FreeType 2.10.4,它修复了 FreeType 2.6 中引入的严重漏洞 ( CVE-2020-15999 )。

Image.show命令参数

7.2.0 版后已移除.

该​command​参数将在 Pillow 9.0.0 (2022-01-02) 中移除。使用​ImageShow.Viewer​的一个子类代替。

Image._showxv

7.2.0 版后已移除.

Image._showxv将在 Pillow 9.0.0 (2022-01-02) 中移除。使用Image.Image.show()来代替。如果需要自定义行为,请使用 ImageShow.register()添加自定义ImageShow.Viewer类。

ImageFile.raise_ioerror

7.2.0 版后已移除.

IOError被合并到Python3.3的OSError中。因此,ImageFile.raise_ioerror将在 Pillow 9.0.0 (2022-01-02) 中删除。使用ImageFile.raise_oserror来代替。

PILLOW_VERSION 常量

5.2.0 版后已移除.

PILLOW_VERSION​将在 Pillow 9.0.0 (2022-01-02) 中移除。使用​__version__​来代替。

它最初在 Pillow 7.0.0 中被删除,但在 7.1.0 中被恢复,以便为项目提供更多的升级时间。

Tk/Tcl 8.4

自 8.2.0 版起已弃用。

不推荐使用对 Tk/Tcl 8.4 的支持,并将在 Pillow 10.0.0 (2023-01-02) 中删除,此时 Tk/Tcl 8.5 将是支持的最低版本。

类别

自 8.2.0 版起已弃用。

im.category已弃用,并将在 Pillow 10.0.0 (2023-01-02) 以及相关的Image.NORMAL,Image.SEQUENCE和 Image.CONTAINER属性中删除。

要确定图像是否具有多个帧, 可以改用getattr(im, "is_animated", False)

JpegImagePlugin.convert_dict_qtables

自 8.3.0 版起已弃用。

JPEGquantization现在会自动转换,但仍作为字典返回。该convert_dict_qtables方法不再对提供给它的数据执行任何操作,已被弃用,并将在 Pillow 10.0.0 (2023-01-02) 中删除。

删除的功能

只有在适当的弃用期过后,才会在主要版本中删除弃用的功能。

im.offset

自 1.1.2 版起已弃用。

在 8.0.0 版中删除。

im.offset()已删除,请将ImageChops.offset()改为调用。

它被记录为在 PIL 1.1.2 中已弃用,DeprecationWarning自 1.1.5、Exception自 Pillow 3.0.0 和NotImplementedError自 3.3.0 起提出。

Image.fromstring、im.fromstring 和 im.tostring

自 2.0.0 版起已弃用。

在 8.0.0 版中删除。

  • Image.fromstring()​已删除,请将​Image.frombytes()​改为调用。
  • im.fromstring()​已删除,请​frombytes()​改为调用。
  • im.tostring()​已删除,请​tobytes()​改为调用。

他们发布了​DeprecationWarning​自 2.0.0、​Exception​自 3.0.0 和​NotImplementedError​自 3.3.0 以来。

imagecms.cmsprofile属性

自 3.2.0 版起已弃用。

在 8.0.0 版中删除。

中的一些属性​PIL.ImageCms.CmsProfile​已被删除。从 6.0.0 开始,他们发布了一个​DeprecationWarning​:

已移除

改用

color_space

Padded xcolor_space

pcs

Padded connection_space

product_copyright

Unicode copyright

product_desc

Unicode profile_description

product_description

Unicode profile_description

product_manufacturer

Unicode manufacturer

product_model

Unicode model

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__ 来代替。

已移除

已移除

已移除

BmpImagePlugin.__version__

Jpeg2KImagePlugin.__version__

PngImagePlugin.__version__

CurImagePlugin.__version__

JpegImagePlugin.__version__

PpmImagePlugin.__version__

DcxImagePlugin.__version__

McIdasImagePlugin.__version__

PsdImagePlugin.__version__

EpsImagePlugin.__version__

MicImagePlugin.__version__

SgiImagePlugin.__version__

FliImagePlugin.__version__

MpegImagePlugin.__version__

SunImagePlugin.__version__

FpxImagePlugin.__version__

MpoImagePlugin.__version__

TgaImagePlugin.__version__

GdImageFile.__version__

MspImagePlugin.__version__

TiffImagePlugin.__version__

GifImagePlugin.__version__

PalmImagePlugin.__version__

WmfImagePlugin.__version__

IcoImagePlugin.__version__

PcdImagePlugin.__version__

XbmImagePlugin.__version__

ImImagePlugin.__version__

PcxImagePlugin.__version__

XpmImagePlugin.__version__

ImtImagePlugin.__version__

PdfImagePlugin.__version__

XVThumbImagePlugin.__version__

IptcImagePlugin.__version__

PixarImagePlugin.__version__

Pyqt4和Pyside

自 6.0.0 版起已弃用。

在 7.0.0 版中删除。

Qt 4 已于 2015 年 12 月 19 日停产。它的 Python 绑定也是 EOL:自 2018-08-31 以来的 PyQt4 和自 2015-10-14 以来的 PySide。

对 PyQt4 和 PySide 的支持已从​ImageQt​. 请升级到 PyQt5 或 PySide2。

设置TIFF图像的大小

自 5.3.0 版起已弃用。

在 7.0.0 版中删除。

直接设置 TIFF 图像的大小(例如​im.size = (256, 256)​)会引发错误。使用​Image.resize​来代替。

版本常量

自 5.2.0 版起已弃用。

在 6.0.0 版中删除。

VERSION​(旧的 PIL 版本,总是 1.1.7)已被删除。使用 ​__version__​来代替。

未记录的ImageOps函数

自 4.3.0 版起已弃用。

在 6.0.0 版中删除。

中的几个未记录的功能​ImageOps​已被删除。使用等效项​ImageFilter​代替:

已移除

改用

ImageOps.box_blur

ImageFilter.BoxBlur

ImageOps.gaussian_blur

ImageFilter.GaussianBlur

ImageOps.gblur

ImageFilter.GaussianBlur

ImageOps.usm

ImageFilter.UnsharpMask

ImageOps.unsharp_mask

ImageFilter.UnsharpMask

PIL.OleFileIO

自 4.0.0 版起已弃用。

在 6.0.0 版中删除。

PIL.OleFileIO 作为供应商文件和 Pillow 4.0.0 (2017-01) 被删除,以支持上游 olefile Python 包,并替换为​ImportError​5.0.0 (2018-01)。已弃用的文件现已从 Pillow 中删除。如果需要,从 PyPI 安装(例如python3 -m pip install olefile​)。​


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号