在Linux中安装Pillow(Python模块)期间失败


165

我正在尝试使用pip安装Pillow(Python模块),但是会引发以下错误:

ValueError: jpeg is required unless explicitly disabled using --disable-jpeg, aborting

因此,正如错误所述,我尝试了:

pip install pillow --global-option="--disable-jpeg"

但是它失败了:

error: option --disable-jpeg not recognized

有什么提示如何处理吗?

Answers:


323

有报道枕头的错误在这里,这表明libjpegzlib现在需要的枕头3.0.0。

Linux上Pillow 的安装说明提供了有关如何安装这些软件包的建议。请注意,并非以下所有软件包都可能在您的计算机上丢失(注释表明libjpeg8-dev实际上仅缺少这些软件包)。

点/ PyPi(枕头> 3.4.2)

最新版本枕头的可PyPI上的轮子 - Python的新标准包装机制。这些预构建的软件包包括所有必要的二进制依赖关系,以允许Pillow运行,如果要使用PyPi安装Pillow,则应使用这些预构建包。

要使用轮子,您需要具有的版本pip>=1.4。如果您使用的是早期版本(pip --version),请使用以下方法升级pip:

pip install --upgrade pip 

一旦pip升级,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

软呢帽20

的Fedora 20当量的libjpeg8-devlibjpeg-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

20194月更新:在Mojave中,以上操作不起作用,您需要运行此错误报告(取自Pillow上的此错误报告)

sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

2016年7月更新:zlib主存储库中不再有可用的公式(Homebrew将提示您安装lzlib哪个是其他库,将无法解决此问题)。

还有就是在可用公式受骗者库。您可以点击此存储库,然后按常规安装:

brew tap homebrew/dupes
brew install zlib

或者,您也可以改为zlib通过安装xcode,如下所示:

xcode-select --install

感谢凤凰城,Panos Angelopoulou,nelsonvarela,benjaminz和Kal在评论中

这些安装后,枕头的点子安装应该可以正常工作。


2
只是libjpeg8-dev可能会被罚款。
Matheus Portela

3
我在Mac OS X上也brew install libjpeg brew install zlib
遇到

2
最好安装libjpeg-dev-不带“ 8”,然后还发现zlib1g-dev也丢失了。之后:sudo apt-get install libjpeg-dev zlib1g-dev在Mint 17.1(= Ubuntu 14.04 LTS)上运行pip Pillow安装。
arntg

6
我不得不强制链接zlib:brew link zlib --force
nelsonvarela '16

2
brew install zlib不再适用于某些Mac,下面的解决方案xcode-select --install似乎可以解决问题,请更新您的解决方案,因为它是最全面的解决方案,也是访客看到的第一个解决方案。非常感谢您的工作!
benjaminz

37

在Raspberry pi II上,我遇到了同样的问题。尝试以下方法后,我解决了问题。解决方案是:

sudo apt-get update
sudo apt-get install libjpeg-dev

sudo apt-get install libjpeg-dev也适用于Ubuntu 14):
Amir

34

谢谢@mfitzp。就我而言(CentOS),这些库在yum存储库中不可用,但实际上解决方案甚至更容易。我做了什么:

sudo yum install python-devel
sudo yum install zlib-devel
sudo yum install libjpeg-turbo-devel

至此,枕头的安装成功完成。


1
谢谢,这对我
有用,

1
也为我工作,只需要安装libjpeg-turbo-devel软件包!
凯西

像魅力一样在CentOS 7上工作!
猛禽

在Amazon Linux yum机器上不需要此python-devel。我认为最后一个libjpeg-turbo-devel是缺少的软件包。
Neeraj Gupta'3

12

最快的解决方法是提高点子。确实为我工作:

pip install --upgrade pip

为我工作。Pip install Pillow(如果无法正常工作,请通过pip install --upgrade pip清除缓存),然后再次运行Pip install Pillow
Tzvi Gregory Kaidanov

这对我也有用。我在CentOS VM上安装了Python 2.6.6和3.5.1,并运行pip3.5 install --upgrade pip3.5。之后,pip3.5 install pillow运行无任何问题,并保持了Python2和Python3安装的完整性。
伊万(Evan)


10
brew install zlib

在OS X上不再工作,而是提示安装lzlib。安装没有帮助。

相反,您需要安装XCode命令行工具,并且应该安装 zlib

xcode-select --install

多一点解释会更有帮助。
benjaminz 2016年

9

这对我来说解决了jpeg和zlib错误:

C:\Windows\system32>pip3 install pillow --global-option="build_e
xt" --global-option="--disable-zlib" --global-option="--disable-jpeg"

1
我需要在没有root访问权限的环境上安装Pillow-这是对我有用的解决方案。
尼尔克

6

ValueError: zlib is required unless explicitly disabled using --disable-zlib将点子从7.x升级到8.y可以解决问题。

所以我会先尝试更新工具。

可以使用以下方法完成:

pip install --upgrade pip



-2

在debian / ubuntu上,您只需要:libjpeg62-turbo-dev

所以一个简单sudo apt install libjpeg62-turbo-dev 而又pip install pillow

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.