Pillow

python-pillow活跃维护

Python 生态最常用的图像处理库,支持打开、转换、裁剪、滤镜等常见操作,是 PIL 的活跃维护分支。

Python Imaging Library (fork)

13.0.0发布于 2026-10-16 22:37 UTC13,975star +2 / 7 天2,617fork同步于 2026-11-10 05:27 UTC

怎么上手

README 里没有找到可直接复制的安装命令

README 里没有找到可直接复制的安装命令,请到 README 或官方文档查看安装方式。

硬件要求

README 没有说明硬件要求。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

这个项目的说明还在生成中,先参考下面「最近发版」和 README。

最近发版

5 个版本13.0.0
  1. 13.0.0最新正式版2026-10-16 · 2026-10-16 22:37 UTC

    https://pillow.readthedocs.io/en/stable/releasenotes/13.0.0.html

    Removals

    • Remove undocumented GifImagePlugin._save_netpbm #9901 [@akx]
    • Remove ExifTags.IFD.Makernote #9850 [@radarhere]
    • Drop support for Python 3.10 #9750 [@hugovk]
    • Remove deprecations for Pillow 13.0.0 #9751 [@radarhere]

    Deprecations

    • Deprecate IM image format #9849 [@radarhere]
    • Deprecate ImageQt align8to32() in favour of raw encoder stride #9940 [@akx]
    • Deprecate JpegImageFile.load_djpeg #9924 [@akx]

    Documentation

    • Update release notes for Pillow 13.0.0 #10223 [@hugovk]
    • Correct the ImageOps.fit centering corner documentation #10118 [@FanWu-ai]
    • Update Tidelift links #10102 [@radarhere]
    • Correct bullet point syntax in release notes #10069 [@radarhere]
    • Update ImageDraw signatures in docs #10065 [@ZainnQureshii]
    • Update macOS tested Pillow versions #10048 [@hugovk]
    • Add pillow-wmf and pillow-zx-spectrum to third-party plugins list #10037 [@bitplane]
    • Delete CLAUDE.md #10027 [@hugovk]
    • Add pillow-lunasvg to third-party plugins list #10016 [@Maksim-Burtsev]
    • Extend security policy #10018 [@hugovk]
    • Update Color3DLUT description #10004 [@radarhere]
    • Document the internal image distinctness constraints #9752 [@akx]
    • Update macOS tested Pillow versions #10000 [@radarhere]
    • Link security policy in project metadata #9980 [@hugovk]
    • Image.new(): correct docstring and comment about uninitialized memory #9960 [@akx]
    • Add AGENTS.md #9582 [@aclark4life]
    • Add release notes for #8811 #9937 [@radarhere]
    • Fixed typo #9923 [@radarhere]
    • Fixed typo #9922 [@radarhere]
    • C interface is internal #9879 [@radarhere]
    • Correct function references #9895 [@radarhere]
    • Revert move from python-pillow.org to python-pillow.github.io #9830 [@aclark4life]
    • Add additional CVE numbers to 12.3.0 release notes #9777 [@radarhere]
    • Remove remaining :rtype:s from docstrings #9742 [@akx]
    • Update macOS tested Pillow versions #9759 [@radarhere]

    Dependencies

    • Update dependency cibuildwheel to v4.3.1 #10175 [@renovate[bot]]
    • Update dependency cibuildwheel to v4.3.0 #10132 [@renovate[bot]]
    • Update dependency harfbuzz to v14.5.0 #10108 [@renovate[bot]]
    • Update github-actions #10111 [@renovate[bot]]
    • Update dependency check-jsonschema to v0.38.2 #10110 [@renovate[bot]]
    • Update dependency fribidi to v1.0.17 #10106 [@renovate[bot]]
    • Update dependency xz to v5.8.4 #10107 [@renovate[bot]]
    • Add support for PyPy3.12 #10047 [@hugovk]
    • Update dependency cibuildwheel to v4.2.1 #10007 [@renovate[bot]]
    • Install latest Ghostscript when testing Windows #9978 [@radarhere]
    • Update Ghostscript to 10.8.0 #9972 [@radarhere]
    • Update dependency cibuildwheel to v4.2.0 #9947 [@renovate[bot]]
    • Update github-actions #9952 [@renovate[bot]]
    • Update dependency harfbuzz to v14.4.0 #9948 [@renovate[bot]]
    • Update dependency mypy to v2.3.1 #9950 [@renovate[bot]]
    • Update dependency check-jsonschema to v0.38.0 #9951 [@renovate[bot]]
    • Update nasm to 3.02 #9857 [@radarhere]
    • Update raqm to 0.11.0 #9819 [@radarhere]
    • Update dependency jpegturbo to v3.2.0 #9840 [@renovate[bot]]
    • Update github-actions #9845 [@renovate[bot]]
    • Update github-actions #9842 [@renovate[bot]]
    • Update dependency mypy to v2.3.0 #9841 [@renovate[bot]]
    • Update dependency tiff to v4.7.2 #9839 [@[renovate[bot]](https://github.com/a
  2. 12.3.02026-07-01 · 2026-07-01 12:00 UTC
    查看更新说明

    https://pillow.readthedocs.io/en/stable/releasenotes/12.3.0.html

    Removals

    • Remove non-image ImageCms modes #9697 [@radarhere]

    Documentation

    • Add release notes for SBOM and performance improvements #9747 [@radarhere]
    • Add security release notes #9741 [@radarhere]
    • Add release notes for Python 3.15 beta wheels #9696 [@radarhere]
    • ImageFont can also be used with ImageText #9597 [@radarhere]
    • Additional guidelines for security reports #9659 [@wiredfool]
    • Fixed typo #9636 [@radarhere]
    • Added CVEs to 12.2.0 release notes #9591 [@radarhere]
    • Revise development support information in README #9583 [@aclark4life]
    • Add INCIDENT_RESPONSE.md #9555 [@aclark4life]
    • Add STRIDE threat model to security docs #9562 [@aclark4life]
    • Add CVEs to 12.2.0 release notes #9556 [@radarhere]
    • Update README with revised security policy #9553 [@radarhere]
    • Update security policy #9552 [@aclark4life]
    • Update macOS tested Python versions #9534 [@radarhere]

    Dependencies

    • Update dependency harfbuzz to v14.2.1 #9720 [@renovate[bot]]
    • Update dependency mypy to v2 #9653 [@renovate[bot]]
    • Update dependency cibuildwheel to v4 #9665 [@renovate[bot]]
    • Update github-actions #9655 [@renovate[bot]]
    • Update dependency libavif to v1.4.2 #9652 [@renovate[bot]]
    • Update dependency lcms2 to v2.19.1 #9651 [@renovate[bot]]
    • Update dependency check-jsonschema to v0.37.2 #9650 [@renovate[bot]]
    • Update google/oss-fuzz digest to d872252 #9614 [@renovate[bot]]
    • Update dependency lcms2 to v2.19 #9609 [@renovate[bot]]
    • Update dependency libpng to v1.6.58 - autoclosed #9608 [@renovate[bot]]
    • Update dependency harfbuzz to v14 #9610 [@renovate[bot]]
    • Update dependency mypy to v1.20.2 #9599 [@renovate[bot]]
    • Update github-actions #9611 [@renovate[bot]]
    • Update dependency cibuildwheel to v3.4.1 #9607 [@renovate[bot]]
    • Move dependency versions to single JSON and enable Renovate #9559 [@hugovk]
    • Updated raqm to 0.10.5 #9557 [@radarhere]
    • Update dependency cibuildwheel to v3.4.0 #9532 [@renovate[bot]]

    Testing

    • Remove matrix.os from benchmark #9735 [@radarhere]
    • Remove references to libavif patch #9734 [@radarhere]
    • Add benchmark tests #9654 [@akx]
    • Use reshape() instead of setting NumPy array shape directly #9728 [@radarhere]
    • Add dependencies.json to Windows cache key #9721 [@radarhere]
    • Increase AVIF test epsilon for loong64 #9714 [@wszqkzqk]
    • Add colour to Linux and Windows wheel build logs #9677 [@hugovk]
    • Do not test NumPy against Python 3.15 Windows AMD64 wheels #9674 [@radarhere]
    • Run pyroma in tox -e lint instead of pytest #9670 [@hugovk]
    • Update Ghostscript to 10.7.1 #9634 [@radarhere]
    • Update free-threading CI #9625 [@hugovk]
    • Increase AVIF test epsilon for riscv64 #9606 [@radarhere]
    • Add Fedora 44 #9594 [@radarhere]
    • Test Ubuntu 26.04 LTS (Resolute Raccoon) #9587 [@hugovk]
    • Skip EPS test_1 for Ghostscript 10.06.0 #9588 [@radarhere]
    • Catch subprocess.CalledProcessError in test_grab_x11 #9578 [@radarhere]
    • Correct feature name #9542 [@radarhere]
    • Skip test if FreeType is not available #9540 [@radarhere]
    • Remove type hint ignore #9538 [@radarhere]
    • Update macOS tested Python versions #9534 [@radarhere]
    • Remove Debian 12 and Fedora 42 from CI #9530 [@hugovk]
    • Remove manylinux2014 and Amazon Linux 2 #9528 [@radarhere]

    Type hints

    • Use NumPy 2.4.6 for mypy #9705 [@radarhere]
    • Update dependency mypy to v2 #965
  3. 12.2.02026-04-01 · 2026-04-01 14:52 UTC
    查看更新说明

    https://pillow.readthedocs.io/en/stable/releasenotes/12.2.0.html

    Documentation

    • Update 12.2.0 release notes #9522 [@hugovk]
    • Add loader plugins: AMOS abk, Atari Degas, 40+ more obscure formats via Netpbm #9482 [@bitplane]
    • Update Python versions #9515 [@radarhere]
    • Jeffrey A. Clark -> Jeffrey 'Alex' Clark #9513 [@aclark4life]
    • Add release notes for #9394, #9419 and #9456 #9467 [@radarhere]
    • Add Amiga Workbench .info loader to 3rd party plugins list #9459 [@bitplane]
    • Merge PFM documentation into PPM #9434 [@radarhere]
    • Update macOS tested Pillow versions #9431 [@radarhere]
    • Fix CVE number #9430 [@hugovk]

    Dependencies

    • Update xz to 5.8.3 #9523 [@radarhere]
    • Update libjpeg-turbo to 3.1.4.1 #9507 [@radarhere]
    • Update libpng to 1.6.56 #9499 [@radarhere]
    • Update freetype to 2.14.3 #9485 [@radarhere]
    • Updated libavif to 1.4.1 #9479 [@radarhere]
    • Updated harfbuzz to 13.2.1 #9461 [@radarhere]
    • Update Ghostscript to 10.7.0 #9469 [@radarhere]
    • Update harfbuzz to 13.0.1 #9453 [@radarhere]
    • Update libavif to 1.4.0 #9460 [@radarhere]
    • Update freetype to 2.14.2 #9449 [@radarhere]
    • Update actions/download-artifact action to v8 #9451 [@renovate[bot]]
    • Updated libpng to 1.6.55 #9425 [@radarhere]

    Testing

    • Cleanup .spider extension in the same test where it is added #9517 [@radarhere]
    • Run tests in parallel via tox for 3.5x speedup #9516 [@hugovk]
    • Enable colour in CI logs #9486 [@hugovk]
    • Update Ghostscript to 10.7.0 #9469 [@radarhere]
    • Simplify TGA test code #9477 [@radarhere]
    • Update tests to check for ValueError when encoding an empty image #9464 [@radarhere]
    • Upgrade CI from macos-15-intel to macos-26-intel #9454 [@hugovk]
    • Add check-case-conflict hook #9446 [@radarhere]
    • Specify platform when pulling docker image #9440 [@radarhere]
    • GHA: Cache libavif and webp builds for Ubuntu #9437 [@hugovk]
    • Update macOS tested Pillow versions #9431 [@radarhere]

    Other changes

    • Check calloc return value #9527 [@radarhere]
    • Check all allocs in the Arrow tree #9488 [@wiredfool]
    • Reject non-numeric elements inside list coords #9526 [@hugovk]
    • Move variable declaration inside define #9525 [@radarhere]
    • Resize tall images vertically first #9524 [@radarhere]
    • Avoid overflow by not adding extents together #9520 [@hugovk]
    • Use long for glyph position #9518 [@hugovk]
    • Raise an error if the trailer chain loops back on itself #9519 [@hugovk]
    • Only read as much data from gzip-decompressed data as necessary #9521 [@hugovk]
    • Allow None extents in C setimage() #9504 [@radarhere]
    • Use critical sections to protect FontObject #9498 [@colesbury]
    • Add ImageText.Text.wrap() to wrap text #9286 [@radarhere]
    • Always call StubHandler open() when opening StubImageFile #9412 [@radarhere]
    • Improved BCn overflow check #9043 [@radarhere]
    • Image will never be None #9512 [@radarhere]
    • Raise EOFError when seeking too far in PSD #9388 [@radarhere]
    • Raise error if ImageGrab subprocess gives non-zero returncode #9321 [@radarhere]
    • Allow for different palette entry sizes when correcting BMP pixel data offset #9472 [@radarhere]
    • Ignore unspecified extra samples for TIFF separate planar configuration #9514 [@radarhere]
    • Add PERF to lint and fix findings #9510 [@hugovk]
    • Switch iOS back to macos-15-intel #9509 [@radarhere]
    • Catch struct.error #9505 [@radarhere]
    • Check PyCapsule_GetPointer and PyBytes_FromStringAndSize return values #9508 [@radarhere]
    • Fix missing null dereference checks #9489 [@wiredfool]
    • CI: Retry failed downloads #9506 [@hugovk]
    • Use PyModule_AddObjectRef #9503 [@radarhere]
    • Release reference to encoder on error #9500 [@radarhere]
    • Fixed AVIF and WEBP dealloc #9501 [@radarhere]
    • Check PyType_Ready return values #9502 [@radarhere]
    • Check if PyObject_CallMethod result is NULL #9494 [@radarhere]
    • Do not use palette from grayscale or bilevel colorspace when reading JPEG2000 images #9
  4. 12.1.12026-02-11 · 2026-02-11 04:36 UTC
    查看更新说明

    https://pillow.readthedocs.io/en/stable/releasenotes/12.1.1.html

    Dependencies

    • Patch libavif for svt-av1 4.0 compatibility #9413 [@hugovk]

    Other changes

    • Fix OOB Write with invalid tile extents #9427 [@radarhere]
  5. 12.1.02026-01-02 · 2026-01-02 09:15 UTC
    查看更新说明

    https://pillow.readthedocs.io/en/stable/releasenotes/12.1.0.html

    Deprecations

    • Deprecate getdata(), in favour of new get_flattened_data() #9292 [@radarhere]

    Documentation

    • Specify APNG duration type when opening #9368 [@radarhere]
    • Added release notes for #9350 #9366 [@radarhere]
    • Update ImageMorph documentation #9349 [@radarhere]
    • Docs: update major bump cadence #9334 [@hugovk]
    • Add release notes for #9070 #9320 [@radarhere]
    • Updated Ubuntu version #9306 [@radarhere]
    • Update macOS tested Pillow versions #9265 [@radarhere]

    Dependencies

    • Update harfbuzz to 12.3.0 #9355 [@radarhere]
    • Update xz to 5.8.2 #9343 [@radarhere]
    • Updated libjpeg-turbo to 3.1.3 #9333 [@radarhere]
    • Updated zlib-ng to 2.3.2 #9324 [@radarhere]
    • Updated libpng to 1.6.53 #9325 [@radarhere]
    • Update actions/checkout action to v6 #9323 [@renovate[bot]]
    • Update dependency mypy to v1.19.0 #9322 [@renovate[bot]]
    • Updated libpng to 1.6.51 #9305 [@radarhere]
    • Updated brotli to 1.2.0 #9284 [@radarhere]
    • Update libimagequant to 4.4.1 #9301 [@radarhere]
    • Update zlib-ng to 2.3.1, except on manylinux2014 aarch64 #9312 [@radarhere]
    • Updated harfbuzz to 12.2.0 #9289 [@radarhere]
    • Update github-actions #9277 [@renovate[bot]]

    Testing

    • Replace pre-commit with prek #9360 [@hugovk]
    • Test PyQt6 on Python 3.14 on Windows #9353 [@radarhere]
    • Test 32-bit Windows on Windows Server 2022 #9345 [@radarhere]
    • Correct variable type #9335 [@radarhere]
    • Fix ResourceWarnings in selftest.py #9332 [@hugovk]
    • Fix testing good P mode BMP images #9319 [@radarhere]
    • Test Python 3.15 pre-release #9331 [@hugovk]
    • Test ImageFont.ImageFont, in case freetype2 is not supported #9287 [@radarhere]
    • Add Fedora 43 #9290 [@radarhere]
    • Remove Fedora 41 #9260 [@radarhere]

    Type hints

    • Add ImageFile context manager #9367 [@radarhere]
    • Assert fp is not None #8617 [@radarhere]
    • Added return type to ImageFile _close_fp() #9356 [@radarhere]
    • Use different variables for Image and ImageFile instances #9316 [@radarhere]
    • Correct variable type #9335 [@radarhere]
    • Improve type hints #9317 [@radarhere]
    • Use different variables for Image and ImageFile instances #9268 [@radarhere]
    • Added type hints #9269 [@radarhere]
    • Correct getitem return type #9264 [@radarhere]

    Other changes

    • Simplify band splitting #9291 [@radarhere]
    • Support saving APNG float durations #9365 [@radarhere]
    • Allow 1 mode images in MorphOp #9348 [@radarhere]
    • Use minimum supported Python version for Lint #9364 [@radarhere]
    • Allow for duplicate font variation styles #9362 [@radarhere]
    • Call parent verify method #9357 [@radarhere]
    • Return LUT from LutBuilder build_default_lut() #9350 [@radarhere]
    • Simplify WebP code #9329 [@radarhere]
    • Use unsigned long for DWORD #9352 [@radarhere]
    • Cast to UINT32 before shifting bits #9347 [@radarhere]
    • [pre-commit.ci] pre-commit autoupdate #9318 [@pre-commit-ci[bot]]
    • Allow window ID to be passed to ImageGrab.grab() on macOS #9070 [@yankeguo]
    • Apply encoder options when saving multiple PNG frames #9300 [@radarhere]
    • Read all non-zero transparency from mode 1 PNG images as 255 #9282 [@radarhere]
    • Support writing IFD, SIGNED_RATIONAL and InkNames TIFF tags #9276 [@radarhere]
    • Remove unused modes #9275 [@radarhere]
    • Correct allocating new color to RGBA palette #9313 [@radarhere]
    • Close image on ImageFont exception #9304 [@radarhere]
    • Reapply "Use macos-latest for iOS arm64 simulator" #9259 [@radarhere]
    • Escape period in pre-commit-config #9036 [@radarhere]
    • Add Apache-2.0 notice to IcoImagePlugin #8947 [@stefan6419846]
    • [pre-commit.ci] pre-commit autoupdate #9288 [@pre-commit-ci[bot]]
    • Simplify code now that I;16* modes are the only IMAGING_TYPE_SPECIAL #9263 [

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Pillow

    Python Imaging Library (Fork)

    Pillow is the friendly PIL fork by Jeffrey 'Alex' Clark and contributors. PIL is the Python Imaging Library by Fredrik Lundh and contributors. Development is supported by:

    Overview

    The Python Imaging Library adds image processing capabilities to your Python interpreter.

    This library provides extensive file format support, an efficient internal representation, and fairly powerful image processing capabilities.

    The core image library is designed for fast access to data stored in a few basic pixel formats. It should provide a solid foundation for a general image processing tool.

    More information

    Report a vulnerability

    To report sensitive vulnerability information, report it privately on GitHub.

    If you cannot use GitHub, use the Tidelift security contact. Tidelift will coordinate the fix and disclosure.

    DO NOT report sensitive vulnerability information in public.