Falha durante a instalação do Pillow (módulo Python) no Linux


165

Estou tentando instalar o Pillow (módulo Python) usando pip, mas ele lança este erro:

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

Então, como diz o erro, tentei:

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

Mas falha com:

error: option --disable-jpeg not recognized

Alguma dica de como lidar com isso?

Respostas:


325

Há um bug relatado para o Pillow aqui , o que indica isso libjpege zlibagora é necessário a partir do Pillow 3.0.0.

As instruções de instalação do Pillow no Linux dão conselhos sobre como instalar esses pacotes. Observe que nem todos os pacotes a seguir podem estar ausentes em sua máquina (os comentários sugerem que apenas libjpeg8-devestá realmente ausente).

pip / PyPi (Travesseiro> 3.4.2)

Os últimos lançamentos do Pillow estão disponíveis no PyPi como rodas - o novo mecanismo de empacotamento padrão do Python. Esses pacotes pré-criados incluem todas as dependências binárias necessárias para permitir a execução do Pillow e devem ser usados ​​se você deseja instalar o Pillow usando o PyPi

Para usar rodas, você precisa ter uma versão do pip>=1.4. Se você estiver usando um pip --versionpip de atualização da versão anterior ( ), use o seguinte:

pip install --upgrade pip 

Depois de fazer o pipupgrade, pip installusará os arquivos de roda específicos da plataforma, por padrão, se estiverem disponíveis. Use o seguinte comando para atualizar o Pillow para a versão mais recente disponível no PyPi:

pip install --upgrade pillow

Ubuntu 12.04 LTS ou 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

O equivalente do Fedora 20 libjpeg8-devé libjpeg-devel.

sudo yum install libtiff-devel libjpeg-devel libzip-devel freetype-devel lcms2-devel libwebp-devel tcl-devel tk-devel

Mac OS X (via Homebrew)

No Mac OS X com Homebrew, isso pode ser corrigido usando:

brew install libjpeg zlib

Você também pode precisar forçar o link do zlib usando o seguinte:

brew link zlib --force

Atualização de abril de 2019: No Mojave, o procedimento acima não funcionará e você deve executar o seguinte, conforme retirado deste relatório de bug no Pillow

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

Atualização em julho de 2016: Não há mais uma fórmula zlibdisponível no repositório principal (o Homebrew solicitará que você instale lzlibuma biblioteca diferente e não resolverá esse problema).

Não é uma fórmula disponível no tolos repositório. Você pode tocar neste repositório e instalar normalmente:

brew tap homebrew/dupes
brew install zlib

Ou você pode instalar zlibvia xcode, como a seguir:

xcode-select --install

Agradecimentos a Phoenix, Panos Angelopoulou, nelsonvarela, benjaminz e Kal nos comentários

Após a instalação, a instalação do PIP do Pillow deve funcionar normalmente.


2
Apenas libjpeg8-devpode estar bem.
Matheus Portela

3
Eu estava enfrentando o mesmo problema para Mac OS X. Eu resolvê-lo execução brew install libjpeg brew install zlib
Panos Angelopoulos

2
Melhor instalar o libjpeg-dev - sem o '8', e também descobriu que o zlib1g-dev também estava ausente. Depois: sudo apt-get install libjpeg-dev zlib1g-deva instalação do pip Pillow funcionou no Mint 17.1 (= Ubuntu 14.04 LTS).
Arntg 08/03

6
Eu tive que forçar o link zlib:brew link zlib --force
nelsonvarela 12/16/16

2
brew install zlibnão funciona mais em alguns Macs, a solução abaixo xcode-select --installparece funcionar, atualize sua solução, pois é a mais abrangente e é a primeira solução que os visitantes veem. Muito obrigado pelo seu trabalho!
Benjaminz

37

No Raspberry pi II, tive o mesmo problema. Depois de tentar o seguinte, resolvi o problema. A solução é:

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

O sudo apt-get install libjpeg-dev também funcionou no Ubuntu 14):
Amir

34

Obrigado @mfitzp. No meu caso (CentOS), essas bibliotecas não estão disponíveis no yum repo, mas na verdade a solução foi ainda mais fácil. O que eu fiz:

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

E agora a instalação do travesseiro termina com sucesso.


1
Graças que trabalharam para mim, embora eu não precisava do python-devel
Dedo Empoeirado - Reintegrar Monica

1
Funcionou para mim também, só precisava instalar o pacote libjpeg-turbo-devel!
kaycee

Trabalhou no CentOS 7 como um encanto!
Raptor

Esse python-devel não era necessário na máquina amazon linux yum. Eu acho que o último libjpeg-turbo-devel foi o pacote que faltava.
Neeraj Gupta

12

A solução mais rápida é atualizar o pip. Trabalhou para mim:

pip install --upgrade pip

trabalhou para mim. Pip instalar Pillow (se não trabalhando limpar o cache por pip instalar pip --upgrade) Em seguida, execute novamente Pip instalar Pillow
Tzvi Gregory Kaidanov

Isso também funcionou para mim. Eu tenho o Python 2.6.6 e 3.5.1 em uma VM CentOS e executei pip3.5 install --upgrade pip3.5. Depois disso, foi pip3.5 install pillowexecutado sem problemas e manteve a integridade das instalações Python2 e Python3.
Evan


10
brew install zlib

no OS X não funciona mais e solicita a instalação lzlib. Instalar isso não ajuda.

Em vez disso, você instala as ferramentas de linha de comando XCode e isso deve instalar zlib

xcode-select --install

Um pouco mais de explicação seria muito mais útil.
benjaminz

9

Isso funcionou para mim resolver o erro jpeg e zlib:

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

1
Eu precisava instalar o Pillow em um ambiente onde não tenho acesso root - esta é a solução que funcionou para mim.
Nielk 18/01/19

6

Eu tive o ValueError: zlib is required unless explicitly disabled using --disable-zlibmas atualizando o pip de 7.x para 8.y resolvi o problema.

Então, eu tentaria atualizar as ferramentas antes de qualquer outra coisa.

Isso pode ser feito usando:

pip install --upgrade pip


0

Experimentar

pip install pillow

Se não funcionar, tente limpar o

cache by pip install --upgrade pip

Então, novamente, corra

pip install pillow

-2

No debian / ubuntu você só precisa: libjpeg62-turbo-dev

Então, um simples sudo apt install libjpeg62-turbo-dev e umpip install pillow

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.