请稍候,加载中....

Pillow安装

安装

警告

警告

Pillow 和 PIL 不能在同一环境中共存。在安装 Pillow 之前,请卸载PIL。

警告

枕头>=1.0不再支持 import Image 。请使用 from PIL import Image 取而代之的是。

警告

枕头>=2.1.0不再支持 import _imaging 。请使用 from PIL.Image import core as _imaging 取而代之的是。

Python支持

枕头支持这些 Python 版本。

Python

3.10

3.9

3.8

3.7

3.6

3.5

3.4

2.7

枕头>=8.3.2

是的

是的

是的

是的

是的

     

枕头8.0-8.3.1

 

是的

是的

是的

是的

     

枕头7.0-7.2

   

是的

是的

是的

是的

   

Pillow 6.2.1-6.2.2

   

是的

是的

是的

是的

 

是的

Pillow 6.0-6.2.0

     

是的

是的

是的

 

是的

Pillow 5.2-5.4

     

是的

是的

是的

是的

是的

Python

3.6

3.5

3.4

3.3

3.2

2.7

2.6

2.5

2.4

Pillow 5.0-5.1

是的

是的

是的

   

是的

     

Pillow 4

是的

是的

是的

是的

 

是的

     

Pillow 2-3

 

是的

是的

是的

是的

是的

是的

   

Pillow <2

         

是的

是的

是的

是的

基本安装

注解

以下说明将安装支持最常见图像格式的 Pillow 。见 外部库 获取支持的外部库的完整列表。

安装 Pillow pip ::

python3 -m pip install --upgrade pip
python3 -m pip install --upgrade Pillow

Windows安装

我们为Windows提供了针对支持的Python矩阵编译的Pillow二进制文件,支持的Python有32位和64位版本,采用WORE格式。这些二进制文件包括对除libimagequant和libxcb之外的所有可选库的支持。RAQM支持需要单独安装FriBiDi:

python3 -m pip install --upgrade pip
python3 -m pip install --upgrade Pillow

要在MSYS2中安装枕头,请参阅 Building on Windows using MSYS2/MinGW .

MacOS安装

我们以轮子格式为每个受支持的Python版本提供MacOS的二进制文件。其中包括对除libimagequant之外的所有可选库的支持。RAQM支持需要单独安装FriBiDi:

python3 -m pip install --upgrade pip
python3 -m pip install --upgrade Pillow

Linux安装

我们为每个受支持的Python版本提供了适用于Linux的二进制文件(采用manylinux轮格式)。其中包括对除libimagequant之外的所有可选库的支持。RAQM支持需要单独安装FriBiDi:

python3 -m pip install --upgrade pip
python3 -m pip install --upgrade Pillow

大多数主要的Linux发行版,包括Fedora、Ubuntu和ArchLInux,也在以前包含PIL的软件包中包含Pillow。 python-imaging 。Debian将其分成两个包, python3-pilpython3-pil.imagetk

Freebsd安装

Pillow可通过官方端口或包装系统安装在Freebsd上:

端口: :

cd /usr/ports/graphics/py-pillow && make install clean

包装: :

pkg install py38-pillow

注解

这个 Pillow FreeBSD port 端口团队使用所有受支持的FreeBSD版本测试包。

从源代码生成

下载并提取 compressed archive from PyPI .

外部库

注解

do not need to install all supported external libraries 使用 Pillow 的基本功能。 Zliblibjpeg 默认情况下是必需的。

注解

在我们的 Docker images repo 安装某些操作系统的依赖项。

Pillow的许多功能都需要外部库:

  • libjpeg 提供jpeg功能。

    • Pillow 已经过libjpeg版本的测试 6b89-9d 和libjpeg turbo版本 8 .

    • 从 Pillow 3.0.0开始,默认情况下需要libjpeg,但使用 --disable-jpeg 旗帜。

  • zlib 提供对压缩PNG的访问

    • 从 Pillow 3.0.0开始,默认情况下需要zlib,但可以使用禁用 --disable-zlib 旗帜。

  • libtiff 提供压缩的TIFF功能

    • Pillow已经过libtiff版本的测试 3.x4.0-4.3

  • libfreetype 提供与类型相关的服务

  • littlecms 提供颜色管理

    • Pillow 2.2.1及更低版本使用liblcms1,Pillow 2.3.0及更高版本使用liblcms2。测试对象为 1.192.7-2.12

  • libwebp 提供WebP格式。

    • Pillow 已经过版本测试 0.1.3, 它不能读取透明的WebP文件。版本 0.3.0 上面支持透明度。

  • tcl/tk 提供对tkinter位图和照片图像的支持。

  • openjpeg 提供jpeg 2000功能。

    • 枕头已经过openjpeg测试 2.0.02.1.02.3.12.4.0

    • Pillow not 支持较早的 1.5 与Debian Jessie一起发行的系列。

  • libimagequant 提供改进的颜色量化

    • 枕头已经用libimagequant进行了测试 2.6-2.15.1

    • libImageQuant是许可的gplv3,这比Pillow许可证更为严格,因此我们将不会分发启用libImageQuant支持的二进制文件。

  • libraqm 提供复杂的文本布局支持。

    • libraqm提供双向文本支持(使用fribidi)、变形(使用harfbuzz)和适当的脚本项化。因此,RAQM可以支持Unicode所覆盖的大多数写入系统。

    • libraqm依赖于以下库:freetype、harfbuzz、fribidi,如果您的系统中没有可用的软件包,请确保在安装libraqm之前安装它们。

    • 如果没有libraqm,则不支持设置文本方向或字体功能。

    • Pillow wheels since version 8.2.0 include a modified version of libraqm that loads libfribidi at runtime if it is installed. On Windows this requires compiling FriBiDi and installing fribidi.dll into a directory listed in the Dynamic-Link Library Search Order (Microsoft Docs) (fribidi-0.dll or libfribidi-0.dll are also detected). See Build Options to see how to build this version.

    • Pillow的早期版本(5.0.0到8.1.2)在运行时动态链接libraqm。

  • libxcb 提供Grab Screenx11支持。

安装完前提条件后,运行:

python3 -m pip install --upgrade pip
python3 -m pip install --upgrade Pillow

如果先决条件安装在计算机的标准库位置(例如 /usr/usr/local )不需要其他配置。如果安装在非标准位置,则可能需要通过编辑配置安装工具来使用这些位置。 setup.pysetup.cfg 或者通过在命令行中添加环境变量:

CFLAGS="-I/usr/pkg/include" python3 -m pip install --upgrade Pillow

如果 Pillow 以前是在没有必要的前提条件下构建的,则可能需要手动清除PIP缓存或使用 --no-cache-dir 使用新安装的外部库强制生成的选项。

构建选项

  • 环境变量: MAX_CONCURRENCY=n . Pillow 可以使用多处理来构建扩展。设置 MAX_CONCURRENCY 设置要使用的CPU数,或者可以使用设置1禁用并行生成。默认情况下,它使用4个CPU,如果4个CPU不可用,则使用现有的所有CPU。

  • 构建标志: --disable-zlib--disable-jpeg--disable-tiff--disable-freetype--disable-lcms--disable-webp--disable-webpmux--disable-jpeg2000--disable-imagequant--disable-xcb . 禁用生成相应的功能,即使生成计算机上存在开发库。

  • 构建标志: --enable-zlib--enable-jpeg--enable-tiff--enable-freetype--enable-lcms--enable-webp--enable-webpmux--enable-jpeg2000--enable-imagequant--enable-xcb . 要求生成相应的功能。如果未找到库,则生成将引发异常。webpmux(webp元数据)依赖于webp支持。tcl和tk也必须一起使用。

  • 构建标志: --vendor-raqm --vendor-fribidi 这些标志用于编译修改后的libraqm版本和在运行时动态加载libfribiti的填充程序。这些是用来编译标准枕头轮的。编译libraqm需要C99兼容的编译器。

  • 构建标志: --disable-platform-guessing . 跳过所有与平台相关的对自动构建系统的include和library目录的猜测,这些系统在环境变量(例如buildRoot)中配置正确的路径。

  • 构建标志: --debug . 将调试标志添加到include和library搜索进程,以转储搜索到的所有路径并找到stdout。

样品使用情况:

MAX_CONCURRENCY=1 python3 setup.py build_ext --enable-[feature] install

或使用PIP:

python3 -m pip install --upgrade Pillow --global-option="build_ext" --global-option="--enable-[feature]"

建立在MacOS上

Xcode命令行工具是编译 Pillow 部分所必需的。通过运行安装工具 xcode-select --install 从命令行。即使安装了完整的Xcode包,也需要使用命令行工具。可能需要跑步 sudo xcodebuild -license 在使用工具之前接受许可证。

安装外部库的最简单方法是通过 Homebrew . 安装自制啤酒后,运行:

brew install libtiff libjpeg webp little-cms2

要在MacOS上安装libraqm,请使用homebrew安装其依赖项:

brew install freetype harfbuzz fribidi

然后看到 depends/install_raqm_cmake.sh 安装libraqm。

现在安装Pillow:

python3 -m pip install --upgrade pip
python3 -m pip install --upgrade Pillow

或者从未压缩的源目录中:

python3 setup.py install

在窗户上建造

我们建议您使用PyPI的预构建的轮子。如果希望手动编译Pillow,可以使用 winbuild 用于CI测试和开发的目录。这些脚本需要Visual Studio 2017或更新版本和NASM。

使用MSYS2/MinGW在Windows上构建

To build Pillow using MSYS2, make sure you run the MSYS2 MinGW 32-bit or MSYS2 MinGW 64-bit console, not MSYS2 directly.

以下指令针对64位内部版本,对于32位的所有出现的替换 mingw-w64-x86_64- 具有 mingw-w64-i686- .

确保安装了Python和GCC::

pacman -S \
    mingw-w64-x86_64-gcc \
    mingw-w64-x86_64-python3 \
    mingw-w64-x86_64-python3-pip \
    mingw-w64-x86_64-python3-setuptools

系统必备安装在 MSYS2 MinGW 64-bit 用:

pacman -S \
    mingw-w64-x86_64-libjpeg-turbo \
    mingw-w64-x86_64-zlib \
    mingw-w64-x86_64-libtiff \
    mingw-w64-x86_64-freetype \
    mingw-w64-x86_64-lcms2 \
    mingw-w64-x86_64-libwebp \
    mingw-w64-x86_64-openjpeg2 \
    mingw-w64-x86_64-libimagequant \
    mingw-w64-x86_64-libraqm

现在安装Pillow:

python3 -m pip install --upgrade pip
python3 -m pip install --upgrade Pillow

基于Freebsd的建筑

注解

仅对FreeBSD 10和11进行测试

确保安装了Python的开发库:

sudo pkg install python3

系统必备安装在 FreeBSD 10 or 11 用:

sudo pkg install jpeg-turbo tiff webp lcms2 freetype2 openjpeg harfbuzz fribidi libxcb

然后看到 depends/install_raqm_cmake.sh 安装libraqm。

在Linux上构建

如果您没有从源代码构建python,请确保安装了python的开发库。

在Debian或Ubuntu中:

sudo apt-get install python3-dev python3-setuptools

在费多拉,命令是:

sudo dnf install python3-devel redhat-rpm-config

在阿尔卑斯山,命令是::

sudo apk add python3-dev py3-setuptools

注解

redhat-rpm-config 在Fedora 23上是必需的,但不是早期版本。

的先决条件 Ubuntu 16.04 LTS - 20.04 LTS 安装有:

sudo apt-get install libtiff5-dev libjpeg8-dev libopenjp2-7-dev zlib1g-dev \
    libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python3-tk \
    libharfbuzz-dev libfribidi-dev libxcb1-dev

然后看到 depends/install_raqm.sh 安装libraqm。

系统必备安装在最近 红帽子CentOS公司费多拉 用:

sudo dnf install libtiff-devel libjpeg-devel openjpeg2-devel zlib-devel \
    freetype-devel lcms2-devel libwebp-devel tcl-devel tk-devel \
    harfbuzz-devel fribidi-devel libraqm-devel libimagequant-devel libxcb-devel

请注意,包管理器可能是yum或DNF,具体取决于具体的分发。

安装必备组件是为了 阿尔卑斯山 使用::

sudo apk add tiff-dev jpeg-dev openjpeg-dev zlib-dev freetype-dev lcms2-dev \
    libwebp-dev tcl-dev tk-dev harfbuzz-dev fribidi-dev libimagequant-dev \
    libxcb-dev libpng-dev

也见 Dockerfile 在测试基础结构repo(https://github.com/python-bellow/docker-images)中,为其他测试的发行版提供已知的工作安装过程。

基于Android

添加了基本的Android支持,以便在TermUX环境中进行编译。依赖项可以通过以下方式安装:

pkg install -y python ndk-sysroot clang make \
    libjpeg-turbo

这已经在Chromeos的termux应用程序中进行了测试。

平台支撑

当前平台支撑Pillow。二进制发行版是在自愿的基础上为每个版本提供的,但是源代码应该编译并在列出平台支持的任何地方运行。一般来说,我们的目标是支持Linux、MacOS和Windows的所有当前版本。

持续集成目标

这些平台是为每一个变化而构建和测试的。

操作系统

经过测试的Python版本

经过测试的架构

阿尔卑斯山的

3.9

X86—64

亚马逊Linux 2

3.7

X86—64

拱门

3.9

X86—64

世纪7号

3.6

X86—64

CentOS 8号

3.6

X86—64

CentOS流8

3.6

X86—64

Debian 10巴斯特

3.7

x86

软呢帽33

3.9

X86—64

软呢帽34

3.9

X86—64

加泰罗尼亚macOS 10.15

3.6、3.7、3.8、3.9、3.10、PyPy3

X86—64

Ubuntu Linux 18.04 LTS(仿生)

3.6

X86—64

Ubuntu Linux 20.04 LTS(焦点)

3.6、3.7、3.8、3.9、3.10、PyPy3

X86—64

3.8

arm64v8、ppc64le、s390x

Windows Server 2016

3.6

X86—64

Windows服务器2019

3.6、3.7、3.8、3.9、3.10、PyPy3

X86、X86—64

3.9/MinGW

X86、X86—64

其他平台

据报道,这些平台可以在上述版本上工作。

注解

参与者请在您的平台上测试Pillow,然后更新此文档并发送请求。

操作系统

经过测试的Python
版本
最近一次测试
枕头版
经过测试
处理器

MacOS 11.0大压力

3.7、3.8、3.9

8.3.2

3.6、3.7、3.8、3.9

8.3.2

X86—64

加泰罗尼亚macOS 10.15

3.6、3.7、3.8、3.9

8.3.1

X86—64

3.5

7.2.0

Macos 10.14莫哈韦

3.5、3.6、3.7、3.8条

7.2.0

X86—64

2.7

6.0.0

3.4

5.4.1

Macos 10.13 Sierra高地

2.7、3.4、3.5、3.6

4.2.1

X86—64

马科斯10.12塞拉

2.7、3.4、3.5、3.6

4.1.1

X86—64

Mac OS X 10.11 El Capitan

2.7、3.4、3.5、3.6、3.7

5.4.1

X86—64

3.3

4.1.0

Mac OS X 10.9 Mavericks

2.7、3.2、3.3、3.4

3.0.0

X86—64

Mac OS X 10.8山地狮

2.6、2.7、3.2、3.3

 

X86—64

红帽Linux 6

2.6

 

x86

CITOS 6.3

2.7,3.3

 

x86

费多拉23

2.7,3.4

3.1.0

X86—64

Ubuntu Linux 12.04 LTS(精确)

2.6、3.2、3.3、3.4、3.5
PyPy5.3.1、PyPy3 v2.4.0

3.4.1

X86、X86—64

2.7

4.3.0

X86—64

2.7,3.2

3.4.1

聚合氯化铝

Ubuntu Linux 10.04 LTS(Lucid)

2.6

2.3.0

X86、X86—64

Debian 8.2杰西

2.7,3.4

3.1.0

X86—64

拉斯比杰西

2.7,3.4

3.1.0

拉氏伸展

2.7,3.5

4.0.0

覆盆子PI OS

3.6、3.7、3.8、3.9

8.2.0

2.7

6.2.2

GUTOU-Linux

2.7,3.2

2.1.0

X86—64

FreeBSD 11.1

2.7、3.4、3.5、3.6

4.3.0

X86—64

FreeBSD 10.3

2.7、3.4、3.5

4.2.0

X86—64

FreeBSD 10.2

2.7,3.4

3.1.0

X86—64

Windows 10

3.7

7.1.0

X86—64

Windows 8.1专业版

2.6、2.7、3.2、3.3、3.4

2.4.0

X86、X86—64

Windows 8专业版

2.6、2.7、3.2、3.3、3.4A3

2.2.0

X86、X86—64

Windows 7专业版

3.7

7.0.0

X86、X86—64

Windows Server 2008 R2企业版

3.3

 

X86—64

旧版本

您可以从 release history at PyPI 通过直接的URL访问,例如https://pypi.org/project/bellow/1.0/。


Python学习手册-