O PIL suporta JPEG no meu sistema.
Sempre que faço um upload, meu código falha com:
File "PIL/Image.py", line 375, in _getdecoder
raise IOError("decoder %s not available" % decoder_name)
IOError: decoder jpeg not available
Como posso resolver isto?
Respostas:
O libjpeg-dev é necessário para poder processar jpegs com travesseiro (ou PIL), portanto você precisa instalá-lo e recompilar o travesseiro. Parece também que o libjpeg8-dev é necessário no Ubuntu 14.04
Se você ainda estiver usando o PIL, deve realmente usar o travesseiro atualmente; portanto,
pip uninstall PIL
antes de seguir estas instruções para trocar, ou se você tiver um bom motivo para permanecer com o PIL, substitua "travesseiro" por "PIL" abaixo )No Ubuntu:
Se isso não funcionar, tente uma das opções abaixo, dependendo de você estar no Ubuntu de 64 ou 32 bits.
Para o Ubuntu x64:
Ou para o Ubuntu 32bit:
Em seguida, reinstale o travesseiro:
(Edita para incluir comentários dos comentários. Obrigado Charles Offenbacher por apontar que isso difere de 32 bits e o t-mart por sugerir o uso de
--no-cache-dir
).fonte
pip install
coisas da primeira vez, mas as desinstalações e (re) instalações subseqüentes foram suspeitamente rápidas. De qualquer forma , os métodos acima não funcionaram para mim até eu executarpip install --no-cache-dir pillow
. Boa sorte!Para aqueles no OSX, usei o seguinte binário para instalar o libpng e o libjpeg em todo o sistema:
libpng e libjpeg para OSX
Como eu já tinha o PIL instalado (via pip em um virtualenv), executei:
Isso resolveu o
decoder JPEG not available
erro para mim.ATUALIZAÇÃO (24/4/14) :
Versões mais recentes do pip requerem sinalizadores adicionais para baixar bibliotecas (incluindo PIL) de fontes externas. Tente o seguinte:
Consulte a seguinte resposta para obter informações adicionais: pip install PIL não instala no virtualenv
ATUALIZAÇÃO 2 :
Se no OSX Mavericks, defina a
ARCHFLAGS
sinalização como @RicardoGonzales nos comentários abaixo :fonte
Esta é a única maneira que funcionou para mim. Instalar pacotes e reinstalar o PIL não funcionou.
No ubuntu, instale o pacote necessário:
(você também pode instalar
libfreetype6 libfreetype6-dev zlib1g-dev
para ativar outros decodificadores).Em seguida, substitua PIL por travesseiro:
fonte
pip install pillow --upgrade
.Os trabalhos a seguir no ubuntu 12.04:
quando você vê "- suporte a JPEG disponível" significa que funciona.
Mas, se ainda não funcionar quando você editar sua imagem jpeg, verifique o caminho do python !! meu caminho python não foi encontrado
/usr/local/lib/python2.7/dist-packages/PIL-1.1.7-py2.7-linux-x86_64.egg/
, então edito o~/.bashrc
código a seguir:Editar:
export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/dist-packages/PIL-1.1.7-py2.7-linux-x86_64.egg/
então, finalmente, funciona !!
fonte
No Fedora 17, tive que instalar
libjpeg-devel
e depois reinstalarPIL
:fonte
A resposta de Rolo é excelente, no entanto, tive que reinstalar o Pillow ignorando o cache do pip (introduzido no pip 7), caso contrário ele não será recompilado corretamente !!! O comando é:
e você pode ver se o Pillow foi configurado corretamente lendo nos logs isto:
como você pode ver, o suporte para jpg, tiff etc. está ativado, porque eu instalei anteriormente as bibliotecas necessárias via apt (libjpeg-dev libpng12-dev libfreetype6-dev libtiff-dev)
fonte
No Mac OS X Mavericks (10.9.3), resolvi isso fazendo o seguinte:
Instale o libjpeg pelo brew (sistema de gerenciamento de pacotes)
reinstalar travesseiro (eu uso travesseiro em vez de PIL)
fonte
brew unlink jpeg && brew link jpeg
antes da instalação do Pillow.Instale-os e certifique-se de instalar o PIL com o pip, porque eu o compilei do código-fonte e, por algum motivo, não funcionou
fonte
Eu já estava usando
Pillow
e recebi o mesmo erro. Tentei instalarlibjpeg
oulibjpeg-dev
conforme sugerido por outros, mas foi informado que uma versão (mais recente) já estava instalada.No final, bastava reinstalar
Pillow
:fonte
Eu sou muito novato para comentar zeantsoi post; (. Então aqui está o que eu precisava fazer para resolver o OSX no 10.9.1)
1) instale as ferramentas do Xcode (abra seu terminal e execute:)
xcode-select --install
- retirado deste post: Não é possível instalar o PIL após o Mac OS X 10.92) instale o pacote libpng e libjpeg (instalador combinado) a partir deste link: http://ethan.tira-thompson.com/Mac_OS_X_Ports.html
3) reinicie (não tenho certeza se era obrigatório)
4) Reinstale o PIL com o run
pip install -I PIL
(como eu havia instalado o PIL antes de ter o problema)Espero que esta ajuda e não confunda mais ...
_Oh o
fonte
Esta pergunta foi publicada há um bom tempo e a maioria das respostas também é bastante antiga. Então, quando passei horas tentando descobrir isso, nada funcionou e tentei todas as sugestões deste post.
Eu ainda estava recebendo os erros JPEG padrão ao tentar fazer upload de um JPG no meu formulário de avatar do Django:
Depois verifiquei o repositório do Ubuntu 12.04 e notei alguns pacotes extras
libjpeg
. Eu instalei estes e meu problema foi resolvido:Instalando estas removido
libjpeg-dev
,libjpeg-turbo8-dev
elibjpeg8-dev
.Espero que isso ajude alguém no ano de 2015 e além!
Felicidades
fonte
Mesmo problema aqui,
JPEG support available
mas ainda assimIOError: decoder/encoder jpeg not available
, exceto que eu uso Pillow e não PIL.Eu tentei todas as opções acima e muito mais, mas depois de muitas horas percebi que o uso
sudo pip install
não funciona como eu esperava, em combinação comvirtualenv
. Parvo eu.Usar
sudo
efetivamente inicia o comando em um novo shell (meu entendimento disso pode não estar totalmente correto) onde o virtualenv não está ativado, o que significa que os pacotes serão instalados no ambiente global. (Isso estragou tudo, acho que eu tinha 2 instalações diferentes do Pillow.)Limpei as coisas, mudei de usuário para root e reinstalei no virtualenv e agora funciona.
Espero que isso ajude alguém!
fonte
Para o Fedora
Instale o pré-requisito
sudo dnf install make automake gcc gcc-c++ kernel-devel rpm-build libjpeg-devel zlib-devel python-devel
Agora instale o Pillow
sudo pip install pillow
Nota - Para libjpeg e zlib, estamos instalando os pacotes libjpeg-devel e zlib-devel no Fedora / CentOS / Red Hat
fonte
Primeiro, tive que excluir as pastas python na pasta oculta user / appData (que estava criando enormes dores de cabeça), além de desinstalar o Python. Em seguida, instalei o WinPython Distribution: http://code.google.com/p/winpython/, que inclui o PIL
fonte
Para aqueles no Mac OS Mountain Lion, eu segui a resposta de zeantsoi, mas não funciona.
Finalmente acabei com a solução deste post: http://appelfreelance.com/2010/06/libjpeg-pil-snow-leopard-python2-6-_jpeg_resync_to_restart/
Agora, estou felizmente executando meu script para jpeg!
fonte