Pillow 弃用和移除的功能
弃用和移除
此页面列出了在过去的主要版本中已弃用或已删除的 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
:
已移除 |
改用 |
---|---|
|
Padded |
|
Padded |
|
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:自 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
代替:
已移除 |
改用 |
---|---|
|
|
|
|
|
|
|
|
|
|
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
)。
更多建议: