有一个针对Pillow 这里的错误报告,指出从Pillow 3.0.0开始,libjpeg
和zlib
现在是必需的。
在Linux上安装Pillow的安装说明给出了如何安装这些软件包的建议。请注意,并非所有以下软件包都可能在您的计算机上缺失(评论表明只有libjpeg8-dev
确实缺失)。
pip / PyPi (Pillow>3.4.2)
最新的Pillow 发行版已经作为wheels在PyPi上提供,这是Python的新标准打包机制。这些预构建的软件包包括所有必要的二进制依赖项,以允许Pillow运行,并且应该在使用PyPi安装Pillow时使用。
要使用wheels,您需要拥有pip>=1.4
版本。如果您使用早期版本 (pip --version
),请使用以下命令升级pip:
pip install --upgrade pip
一旦升级了
pip
,如果有平台特定的wheel文件可用,
pip install
将默认使用它。使用以下命令将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)
在Mac OS X上,如果使用Homebrew,可以使用以下命令解决此问题:
brew install libjpeg zlib
你可能还需要使用以下方法强制链接zlib:
brew link zlib --force
2019年4月更新:在Mojave上,以上方法将无法运行,您需要运行以下步骤(取自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
感谢评论区的phoenix、Panos Angelopoulou、nelsonvarela、benjaminz和Kal。
安装这些后,Pillow的pip安装应该正常工作。
libjpeg8-dev
库可能就足够了。 - Matheus Portelabrew install libjpeg
brew install zlib
- Panos Angelopoulossudo apt-get install libjpeg-dev zlib1g-dev
之后,pip Pillow在Mint 17.1(= Ubuntu 14.04 LTS)上成功安装。 - arntgbrew link zlib --force
。 - nelsonvarelabrew install zlib
已经不再起作用了,下面的解决方案xcode-select --install
似乎可以解决问题,请更新您的解决方案,因为它是最全面的,并且是访问者看到的第一个解决方案。非常感谢您的工作! - benjaminz