报告了 Pillow here 的错误,这表明从 Pillow 3.0.0 开始,libjpeg 和 zlib 现在是 required。
Linux 上 Pillow 的 installation instructions 提供有关如何安装这些软件包的建议。请注意,并非您的机器上可能缺少以下所有软件包(cmets 建议实际上仅缺少 libjpeg8-dev)。
pip / PyPi (Pillow>3.4.2)
Pillow 的 latest releases 在 PyPi 上可用作 wheels — Python 的新标准打包机制。这些预构建的包包含所有必要的二进制依赖项以允许 Pillow 运行,如果您想使用 PyPi 安装 Pillow,则应使用这些依赖项
要使用轮子,您需要有pip>=1.4 的版本。如果您使用的是早期版本 (pip --version),请使用以下命令升级 pip:
pip install --upgrade pip
一旦pip 升级,pip install 将默认使用平台特定的 Wheel 文件(如果它们可用)。使用以下命令将 Pillow 升级到 PyPi 上可用的最新版本:
pip install --upgrade pillow
Ubuntu 12.04 LTS 或 Raspian Wheezy 7.0
sudo apt-get install libtiff4-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.5-dev tk8.5-dev python-tk
Ubuntu 14.04
sudo apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk
Ubuntu 18.04
sudo apt install libjpeg8-dev zlib1g-dev
Fedora 20
libjpeg8-dev 的 Fedora 20 等效项是 libjpeg-devel。
sudo yum install libtiff-devel libjpeg-devel libzip-devel freetype-devel lcms2-devel libwebp-devel tcl-devel tk-devel
Mac OS X(通过 Homebrew)
在带有Homebrew 的 Mac OS X 上,可以使用以下方法修复:
brew install libjpeg zlib
您可能还需要使用以下命令强制链接 zlib:
brew link zlib --force
2019 年 4 月更新:在 Mojave 中,上述方法不起作用,您需要运行以下 as taken from this bug report on Pillow
sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
2016 年 7 月更新: 主存储库中不再提供 zlib 的公式(Homebrew 将提示您安装 lzlib,这是一个不同的库,不会解决此问题)。
dupes 存储库中有一个可用的公式。您可以点击此存储库,然后正常安装:
brew tap homebrew/dupes
brew install zlib
或者您也可以改为通过xcode 安装zlib,如下所示:
xcode-select --install
感谢 cmets 中的 phoenix、Panos Angelopoulou、nelsonvarela、benjaminz 和 Kal
这些安装完成后,Pillow 的 pip 安装应该可以正常工作了。